質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Q&A

解決済

1回答

4239閲覧

VisualStudio2005 ClickOnceを32bitで発行したい

smaeda

総合スコア18

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

0グッド

0クリップ

投稿2019/03/28 05:12

編集2019/03/28 06:33

ClickOnceを使用して配布を行っているアプリケーションなのですが、
Windows10 64bit端末上だと下記のようなエラーが発生します。
「クラスが登録されていません (HRESULT からの例外: 0x80040154 (REGDB_E_CLASSNOTREG))」

KEYENCEのハンディターミナルライブラリを読み込んでいるのですが、
こちらが原因で32bit端末でしか動作しないようだったので
構成マネージャにてスタートアッププロジェクのプラットフォームを「Any CPU → x86」にしました。

イメージ説明

この状態ですと、Studio上でデバッグを行うとエラーは発生しないのですが
いざClickOnceを発行して64bit端末で動作させると、
うまく32bitアプリケーションとして認識してくれず、エラーが発生してしまいます。

「構成」部分を「Debug→Release」に変更してみたり、
スタートアッププロジェクとだけではなく、全てのプラットフォームを「Any CPU → x86」に
変更して試してみましたが、駄目でした。

この現象につきまして、どなたかご助言頂けますと幸いです。

【環境】
・Visual Studio 2005
・NET Framework 2.0
・ClickOnce発行端末:Windows7 32bit

------追記-------

CliCkOnceを発行する際にエラーが発生します。

================================================

次のエラーにより、発行できませんでした: パス 'ローカスパス(省略)\CommonLibrary\bin\x86\Debug\CommonLibrary.publish\CommonLibrary_1_0_4_23' の一部が見つかりませんでした

================================================

Studio上でソリューションのリビルドを掛けた時は、
「ローカスパス(省略)\CommonLibrary\binx86Debug\」直下のファイルが上書きされるのですが
ClickOnceを発行した時は、なぜか
「ローカスパス(省略)\CommonLibrary\bin\Debug\」直下に
「CommonLibrary.publish」フォルダが作成されてしまようです。

(分かりにくくて申し訳ありませんが、スタートアッププロジェクトである「MainProject」の名前空間が「CommonLibrary」となっています)

「CommonLibrary.publish」フォルダを手動で「x86\Debug」フォルダの直下にコピペすれば発行自体は通りますが、
相変わらず「0x80040154」のエラーは発生し続けます。

試しに「x86\Debug」直下の「CommonLibrary.exe」を叩くとシステムは32bitで認識され
手動でコピーしてきた「CommonLibrary.publish」内の「CommonLibrary.application」を起動すると、64bitとして認識されてしまいました。

となると、やはり構成マネージャでの設定はビルド時には有効ですがClickOnce発行時には反映されないようです・・・

<ローカスパス(省略)\CommonLibrary\bin\Debug\CommonLibrary.publish>
クリックワンスを発行した際に更新される場所
イメージ説明

<ローカスパス(省略)\CommonLibrary\bin\x86\Debug>
リビルドした際に更新される場所。クリックワンス発行時には更新されない
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

自己解決しました。

スタートアッププロジェクト右クリック > プロパティ > 発行 > 今すぐ発行
からだとエラーとなるのですが

ソリューションエクスプローラーにて スタートアッププロジェクト右クリック > 発行
からだとエラーとなりませんでした。

もともと「Any CPU」で動かしていたものを途中から「x86」に変更した場合、
前者の方法だとうまく動かないようです・・・
ClickOnceの不具合と結論付けておこうと思います。

投稿2019/03/28 09:07

smaeda

総合スコア18

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問