0

私はアプリケーションをパッケージ化するためにVisual Studio 2013インストーラを使用しています。次に、MSIのコピーを作成し、Orcaで開き、すべてのダイアログを削除してサイレントパッケージを作成します。だから私は2つのMSIを持っていますが、1つは静かで、もう1つはそうでないものと同じでなければなりません。アプリケーションの追加と削除の複数のエントリ

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

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

私が言うように、サイレント以外のパッケージは正常に動作します。これはVisual Studioで正しくセットアップされている必要があり、Orcaは意図しないことをしているに違いないと思うようになります。

任意の助けもいただければ幸いです。

答えて

0

[プログラムの追加と削除]に2つのエントリがある場合、アップグレードは機能しませんでした。一般的な理由は、インストールの1つがEveryoneで、もう1つがJustです。ダイアログを削除すると、ALLUSERSプロパティを設定する動作が変更され、アップグレードはデフォルトでJust meになります。これらの選択肢の1つを使用する決定がない場合、VSセットアップでALLUSERS = 2が使用されます。これはユーザーごとにデフォルトに設定されています。 MSIは失敗したEveryone ifの代わりにJust meを成功させました。特権の状態は明確ではありません(MSIの設定ではしばしばそうではありません)。

Propertyテーブルに移動し、FolderForm_AllUsersを "ALL"に設定し、ALLUSERSを1に設定して、Everyoneマシンごとに強制的にインストールする必要があります。

どのように静かにしたいですか?エレベーションが正常にインストールされる必要がある場合は、Elevationダイアログが表示されている必要があります。または、Everyoneマシンごとに強制的にインストールすると、インストールは自動的に失敗します。

関連する問題