2009-11-05 13 views
6

私はVS2008 Expressで構築されたアプリケーションを展開しようとしています。アイデアは、ファイルをWebサーバー(Webサイト経由のインストール)にアップロードすると同時に、インターネットに接続されていないユーザーにオフライン(CD)インストールを提供することです。パブリッシュオプションClickOnce CDセットアップがインターネットに接続しようとしています

は、私は(私はアップデートの世話をしていますので、手動で確認してください)私はオプションThe application should check for updatesをオフに、Installation Folder URLは空白のままと私はオプションUpdate location (if different than publish location)に充填しました。

オフラインインストールをテストしようとすると、アプリケーションをインストールできません。私はエラー「アプリケーションのダウンロードは...あなたのネットワーク接続を確認成功しませんでした」と詳細ボタンを押したときに、私は次のエラーを読んでいるの取得:すべてのファイルがあるが

  • Activation of C:\Install\myapp.application resulted in exception. Following failure messages were detected:

なぜそれが、ということですインストール中にインターネットからファイルをダウンロードしようとしていますか?

最後に、サーバーURLをUpdate locationから削除すると、すべて正常です。アプリケーションを更新する必要があるたびに、2つの異なる設定を作成する必要がありますか?それとも別の解決策がありますか?


編集

さらなる試験は、オフラインインストールは、Windows XPで正常に動作しますが、それは、インストーラを同じインストールファイルを使用して、後者の場合のWindows 7で動作しないことが証明されましたローカルの.deployファイルを使用する代わりに、インターネットからアプリケーションをダウンロードしようとします。

ClickOnceの特典はありませんか?

答えて

5

ファイルが既にローカルに存在するかどうかにかかわらず、ClickOnceランナーは指定されたURLに接続しようとします。 CDとWebベースの両方の展開をサポートするには、2つのビルド構成が必要です。関連する情報はMicrosoft's documentationです。あなたは毎回手動プロジェクト設定を編集する必要はありませんので、

To enable this deployment strategy in Visual Studio, click From a CD-ROM or DVD-ROM on the How Installed page of the Publish Wizard.

To enable this deployment strategy manually, change the deploymentProvider tag in the deployment manifest so that the value is blank. In Visual Studio, this property is exposed as Installation URL on the Publish page of the Project Designer. In Mage.exe, it is Start Location.

あなたは、これを自動的に行うことができます(とリスクが更新からクライアントを防止しても小さなミスをします)。残念なことに、プロジェクトのClickOnce設定は標準のビルド構成では制御されていないように見えるので、プロジェクトファイル(MSBuildスクリプトでもあります)または手作業で別のビルドスクリプトを作成する必要がありますつかいます。

オーバーライドする必要がある値はInstallUrlです。 CD-ROMインストールビルドの場合は空白にしてください。ビルドでは両方の設定をビルドする必要があります。このサイトには豊富な例があり、それを行う方法についての指示があります。

2

VS2015で最近のプロジェクトのアプリケーションを公開していたことを除いて、似たような問題がありました。私の設定を公開した。

  • ユーザーがアプリケーションをインストールします方法 -
  • 「CD-ROMまたはDVD-ROMから」アプリケーションがアップデート

をチェックしません、私はからこれを公開します私の開発マシン(例:mymachine01)と。それはSetup.exeを一緒にバンドルアプリケーションファイルは、常にこのような行含まれます:私は、そのジップアップインストーラをテストするために別のマシン上にドロップします

<deploymentProvider codebase="http://mymachine01/Application20Name/Application20Name.application" />

を、私はApplication cannot be started. Contact the application vendor.エラーになるだろう。詳細ボタンをクリックすると、mymachine01にアクセスしようとしていたThe remote name could not be resolvedエラーが表示されます。

  • Goはタブ
  • クリックして「オプション」を
  • を選択し、「マニフェスト」
  • チェック」を公開する

    1. を右クリックしてVSでのプロジェクトプロパティを選択:それを修正するには、私は、次の手順を使用しましたデプロイメントプロバイダのURLを除外する」
  • 関連する問題