0

Visual Studio 2013 インストーラーを使用してアプリケーションをパッケージ化しています。次に、MSI のコピーを作成し、それを Orca で開き、すべてのダイアログを削除してサイレント パッケージを作成します。したがって、1 つがサイレントで、もう 1 つがそうでないことを除いて、同じはずの 2 つの MSI があります。

非サイレント パッケージを使用して以前のバージョン (同じ方法でビルド) からアップグレードすると、すべてが完全に機能します。

ただし、サイレント パッケージを使用して以前のバージョンからアップグレードすると、[プログラムの追加と削除] に 2 つのエントリが残る以外はすべて機能します。ただし、すべて機能しますが、クライアントにとっては見苦しく見えます。最新バージョンをアンインストールすると、実際には最新バージョンがまだインストールされていますが、[プログラムの追加と削除] には以前のバージョンが [プログラムの追加と削除] に表示されたままです。

私が言うように、non-silent パッケージは完全にうまく機能します。そのため、Visual Studio ですべてを正しくセットアップする必要があり、Orca が意図しないことを行っているに違いないと思います。

どんな助けでも大歓迎です。

4

1 に答える 1

0

If you have two entries in Add/Remove Programs then the upgrade didn't work. A common reason is that one of the installs is Everyone and the other is Just me. If you delete the dialogs then you have altered the behavior that sets the ALLUSERS property, and your upgrade could default to Just me. In the absence of a decision to use one of these choices VS setups use ALLUSERS=2 which is defaulting to a per user Just me install, that's the likely reason. Elevation is involved too - VS setups would rather your MSI did a successful Just me instead of a failing Everyone if privilege state is not clear (and in MSI setups it often isn't).

You might need to go to the Property table and set FolderForm_AllUsers to "ALL" and ALLUSERS to 1 to force a per machine Everyone install.

How silent do you want it to be? If it requires elevation to install successfully then you need the elevation dialog to be shown or the install will fail silently if you force a per machine Everyone install.

于 2016-07-29T18:21:46.097 に答える