web-dev-qa-db-ja.com

ClickOnceアプリケーションは現在インストールされているファイルを置き換えます

ClickOnceアプリケーションでは、新しいバージョンを作成するときに現在のファイルを置き換えたり、別のディレクトリにインストールしたりできますか?私が得るエラーは:

同じIDのアプリケーションが既にインストールされているため、このアプリケーションをインストールできません。このアプリケーションをインストールするには、このアプリケーションのマニフェストバージョンを変更するか、既存のアプリケーションをアンインストールします。

43

エラーメッセージが示すように、2つのオプションがあります。

まず、開発者として、ClickOnceマニフェストのバージョン番号を変更する必要があります。これは、プロジェクト設定のClickOnceタブで行います。 ClickOnceバージョンには、アセンブリ(アセンブリ)バージョンとの共通点がないことに注意してください。

別のオプションは、アプリケーションをアンインストールすることです。残念ながら、これはおそらく手動で行う必要があります。 ClickOnce展開フォルダー(C:\Users\username\AppData\Local\Apps\2.0)すべてのフォルダの内容を手動で削除します。これは、

 rundll32 dfshim CleanOnlineAppCache

コマンドラインからのコマンド。

98
Wiktor Zychla

このエラーが発生したのは、同じプログラムに対して2つの異なるインストール場所が必要だったためです。具体的には、Program_Aはオンラインの2つの場所に公開され、プログラムの小さな部分を変更した後、それらを両方とも同じマシンにインストールし、異なるClickOnceリンクからインストールするようにしました。

そのため、そのエラーを受け取った後、マニフェストを微調整する代わりに、オプションを変更しました。プロジェクト設定->公開->オプション-> [公開名、スイート名:、製品名:]を編集しました。 3つすべてを変更する必要はありません。

現在、両方のインストールを実行しています。 ClickOnceは別のディレクトリにインストールされますが、最初のデスクトップショートカットは削除されます。

そのルートに行きたくない場合は、マニフェスト情報がここにあります。
https://msdn.Microsoft.com/en-us/library/ws1c2fch.aspx

通常、マニフェストはbin/debug(release)/yourprogramname.applicationにあります。

6
Greg Netland

また、両方のrundll32 dfshim CleanOnlineAppCacheまたはmage.exe -cc動作しないようです。同じエラーが表示されます。

展開フォルダーを手動で削除しました。

Windows XPでは、展開フォルダーへのパスはC:\Documents and Settings\UserName\Local Settings\Apps

1
MikeyZorro