Question

やじゅ on Wed, 02 Apr 2014 05:58:40


ClickOnceについて、ご教授ください。

複数の拠点にIPアドレスが違うサーバーがあります。
あるアプリケーションを導入するたびに、VisualStudio2008にてClickOnceのインストールURLを
拠点のIPアドレスに変更して発行し導入しておりました。
しかし、IPアドレスを変更するためだけに、VisualStudio2008を起動してClickOnceの発行を行う
作業をするのは手間であります。
これまでは開発者に導入をお願いしていたのですが、これを運用チーム側で導入出来るようにしたいと
考えて調査をしております。

ネットで調べMageUIツールを使って「Start Location」を変更することで対応出来ることは分かりました。

MageUIツールで変更できるため、ClickOnce発行時には仮IPで設定しています。
発行フォルダの場所を「http://127.0.0.1/Test/」、インストールフォルダのURLと更新の場所は未指定です。

ローカル上のIISの仮想サーバー内に該当アプリケーションの発行物が出来たため、MageUIツールを使って
「Start Location」を指定のURLに変更し、拠点のサーバー内に配置しました。
しかし、拠点のpublish.htmで「インストール」ボタンを押すと、下記エラーでセットアップが出来ません。
「'http://127.0.0.1/Test/Test.application' をダウンロードしようとしてエラーが発生しました。」

その代わり「起動」ハイパーリンクを押すと、アプリケーションがインストールされます。

この違いは、「インストール」ボタンがSetup.exe、「起動」ハイパーリンクがTest.applicationを
実行していることが分かりました。

「インストール」ボタンでもエラーが出ないように、Setup.exeのインストールURLを変更することは出来ないでしょうか?
VisualStudio2008で「インストールURL」を変えることで対応出来るかとは思いますが、IPアドレスを後で
誰でも変更できるようにしたいのです。

よろしくお願いします。


Sponsored



Replies

やじゅ on Wed, 02 Apr 2014 08:18:30


自己解決しました。

下記サイトを見つけまして、Setup.exeにコマンドラインがあることが分かりました。
ブートストラップ (Setup.exe) のコマンド ライン引数
http://msdn.microsoft.com/ja-jp/library/h4k032e1.aspx

「-url=location:Setup.exe が ClickOnce アプリケーションを検索する URL を設定します。」


管理者権限のあるコマンドプロンプトを起動したうえで下記を実行する。
setup.exe -url=http://XXX.XXX.XXX.XXX/Test/

変更されたURLを確認する
setup.exe -url

これで「インストール」ボタンを押したときでも、インストールが出来るようになりました。

なお、Setup.exeが更新する際にデジタル署名が消えるため、signtoolでデジタル署名を付与するといい。