1

Visual Studio セットアップ プロジェクト (VS 2010) を使用してインストールされた Windows アプリケーションがあります。

このアプリケーションは、すべてのユーザーにインストールすることを目的としています。このアプリケーションをテスト VM (Windows 7) に問題なくインストールできます。管理者権限を持つユーザーとしてインストールしています。UAC プロンプトが表示され、問題がないことを確認しています。また、Just Me ではなく Everyone にインストールするオプションを選択しています。

アプリケーションのショートカットは、ログオン時にも実行されるため、Startup フォルダーに追加されます。

アプリケーションは、インストールしたユーザーにとってはうまく動作しますが、別のユーザーがその vm にログオンすると、次のようになります。

MSI エラー

ユーザーのデスクトップから MSI をインストールしたため、MSI をロードできません。明らかに、そのマシンの他のユーザーはそのユーザーのデスクトップにアクセスできません。

なぜこれを行うのでしょうか?まったく同じ方法でインストールする別の同様のアプリケーションがありますが、他のユーザーに対してこのようにプロンプ​​トが表示されたことはありません。私が見つけた唯一の違いは、このアプリケーションが Startup フォルダーにアイコンを追加することですが、私の他の作業中のアプリケーションはそうではありません。

MSI インストーラーの実行後に、すべてのユーザーに対してアプリケーションを完全にインストールする必要があります。

4

1 に答える 1

0

何かが原因でアプリケーションが修復されているようです。修復は、元のソースが成功することを要求し、MSI がインストールされた場所を要求します。

最初に行うことは、イベント ログを使用して、修復が開始された原因を追跡することです。Windows インストーラーのイベント ログに、問題の原因となっているコンポーネント GUID を示す何かが表示されるはずです。犯人を突き止めるのに役立つはずです。詳細なログ ファイルを取得すると役立ちます。MSI ログ ポリシーを設定すると、これが簡単になります。

2 番目の問題に対処するには、元の MSI を取得してそこに移動する必要があります。これにより、ユーザーがアクセスできる MSI の別のソースが登録されます。一般に、ユーザーごとの場所からインストールを実行しないことをお勧めします。WiX ツールセットのブートストラップ/チェイナーである Burn は、すべてのユーザーが見ることができるマシンごとの場所にパッケージをキャッシュすることでこれを処理します。

于 2013-04-18T21:33:53.687 に答える