11

ネットワークドライブの公開フォルダーにClickOnceパッケージのコレクションがあり、それらをすべて別のサーバー(DRマシン)に移動する必要があります。

ディレクトリ全体をコピーして貼り付け、新しいマシンでセットアップを実行した後、古いパスが見つからないことを示すエラーメッセージが表示されます。

... MyClickOnceApp.applicationをアクティブ化すると、例外が発生しました。次の障害メッセージが検出されました。

+file://oldMachine/c$/MyClickOnceApp.applicationのダウンロードは成功しませんでした。

+パス'\\oldMachine \ c $\MyClickOnceApp.application'の一部が見つかりませんでした。

新しいマシンを指すようにインストールURLを変更すると、別のエラーが発生します。

マニフェストXML署名が無効です。

+オブジェクトのデジタル署名は検証されませんでした。

MageUI.exeを使用して展開URLを変更しようとしましたが、証明書を要求されますが、これは持っていません。

何が間違っているのでしょうか。また、公開されたClickOnceパッケージを正常に移動するにはどうすればよいですか。

4

4 に答える 4

10

私は解決策を見つけました:

まず、MageUI を使用して、「配置オプション」の下の「開始場所」を変更しました。保存すると、そこで作成したキーで署名するように求められました。その後、setup.exeファイルを実行しましたが、問題なく動作しました。

変更されたファイルを確認したところ、アプリケーション マニフェスト ファイル ( myAppName.application) の 1 つだけであることがわかりました。ファイルで変更されたのは、展開プロバイダー署名(MageUI で変更したもの) だけでした。

これがやり方だと気づいたのでMage.exe、SDK に付属の という MageUI のコマンド ライン バージョンを使用しました。

以下は、コマンド ラインでこれらすべてを実行するために作成したバッチ ファイルです。

REM 環境
呼び出し "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" を設定します。

REM 展開プロバイダーの URL を更新します
mage -Update %1.application -pu %2

REM キー
メイジでマニフェストに署名します -Sign %1.application -CertFile C:\AppKey.pfx -Password myPw

これを使用して、公開したすべてのアプリケーションに対してすばやく簡単に実行できます。これが役立つことを願っています。

于 2008-10-07T10:39:38.143 に答える
8

あまり詳しく説明しなくても、これでうまくいくはずです。

セキュリティ上の理由から、ClickOnce マニフェストは証明書で署名する必要があります。コード署名証明書を購入するか、テスト証明書を生成できます。テスト証明書の主な欠点は、アプリケーションの発行元が会社名ではなく「不明」と表示されることです。

Visual Studio で、プロジェクトのプロパティを開き、[署名] タブに移動して、[ClickOnce マニフェストに署名する] と [テスト証明書の作成] を選択します。次に、[詳細] をクリックしてダイアログを表示し、[証明書のインストール] をクリックします。これにより、ストアでテスト証明書を取得するためのウィザードが実行されます。必ず「個人」ストアに入れてください。

これで、MageUI を使用してマニフェストを編集できるようになりました。保存するたびに、マニフェストに署名するように求められますが、保存したばかりのテスト証明書を選択できるはずです。配置マニフェストを編集/署名する前に、必ずアプリケーション マニフェストを編集/署名してください。アプリケーション マニフェストは.application拡張子を持つファイルではないため、これは混乱を招きます。

幸運を!

于 2008-10-06T16:53:30.590 に答える
3

私は次のことをしなければならないと思います:

  • 現在のフォルダの内容を新しい場所にコピーします
  • 各アプリの場合:-
    • 「インストールフォルダ」を新しい場所に変更します
    • 新しいバージョンとして公開
    • 「公開フォルダ」を新しい場所に変更します
    • 新しいバージョンとして公開

新しいフォルダから実行された新しいセットアップが機能し、既存のセットアップが更新されて正しい場所を検索する必要があります。

これはすべてテストされていませんが、私は以前にそれを行ったことを確信しています...

編集:

もちろん、これらを一定時間並行して実行する必要がありますが、これは内部アプリであるため、最終的に新しい場所に切り替えたときに発生する最悪の事態は、ユーザーに通知する必要があることです。 「固定」アプリを取得するための新しい場所

于 2008-10-06T15:41:07.117 に答える
1

私はあなたが証明書を持っていると信じています。ClickOnce配置を作成するために1つ必要です。Visual Studioによって、自己署名が自動作成された可能性があります。私はこのプロセスにあまり詳しくありません。より明確な答えを持っている人が参加してくれることを願っています。また、MageUIツールを試したことがあれば、GUIを使用して何をする必要があるかがより明確になるでしょう。

于 2008-10-06T15:39:35.497 に答える