ClickOnceで、またも半日ツブす。
「はじめてのことだから、
上手くいかなくても、いいんだよ。」
と、新入社員と自分に言い聞かせながら・・・・
1. ClickOnceのURLは、ケースセンシティブ?
新人君へのOJTで、テスト用サーバーにClickOnceのインストーラーを置くためのフォルダを作成してもらった。
すぐに、
「http://sample.example.com/Test1/」
を作成しましたと、報告がきました。
こちらは、インストールURLを
「http://samaple.example.com/text1/」
と、していました。
セットアップを発行して、FTPでアップロード。
クリーンなマシンから、アクセスして[インストール]ボタンをクリック。
何度やっても途中で、
URLDownloadToCacheFile failed with HRESULT '-2146697210'
Error: 'http://sample.example.com/Test1/Sample1.application' をダウンロードしようとしてエラーが発生しました。
で、止まる。
Google先生にお伺いして、見つけたものを次々と試すが進展なし。
お昼食べて、ふっと思いついたのが
「ダウンロード失敗とは、パスが違う?????? ってこと?」
と、言うことで、試しに、サーバー側フォルダを"test1"に書き換えると、
すんなりとインストールできました。
やれやれ・・・・・
2. ClickOnceで配布するexeのコンパイルは気を付けよう。
今回のアプリは、メインのexeの他に十本ちょいのクラスライブラリと、フォームを持ち、メインとは別スレッドで動作する必要のあるexeがあります。
そして、これもClickOnceで配布するのですが、何度やっても
"デプロイメント内の参照が、アプリケーション マニフェスト内で定義された ID と一致しません"
と、エラーになる。
又も、Google先生にお伺いして、見つけた中に回答がありました。
ClickOnceでメインと一緒に配布するexeは、
- プロジェクトのプロパティ
- アプリケーション
- リソース
- アイコンとマニフェスト
- リソース
- アプリケーション
の部分で、マニフェストの欄を
[マニフェストなしでアプリケーションを作成します]。
を選択します。
これで、メインを発行して問題無くインストールできました。
しかし、ClickOnceのエラーは、もう少し分かり易くはならないのい?