none
【ClickOnce】SetUp.exe内のアプリケーションのインストールURLの変更 RRS feed

  • 質問

  • 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アドレスを後で
    誰でも変更できるようにしたいのです。

    よろしくお願いします。

    2014年4月2日 5:58

回答

  • 自己解決しました。

    下記サイトを見つけまして、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でデジタル署名を付与するといい。
    • 回答としてマーク やじゅ 2014年4月2日 8:18
    • 編集済み やじゅ 2014年4月3日 2:41 証明→署名の誤字修正
    2014年4月2日 8:18