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>
リビルドした際に更新される場所。クリックワンス発行時には更新されない

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。