0

私は WIX を使い始めたばかりで、多くのチュートリアルとスタックオーバーフローでの質問を読みましたが、アップグレード セクションでまだ問題があります。

.msi ファイルをクリックして新しいバージョンをインストールすると、古いバージョンが削除され、新しいバージョンがインストールされます。

しかし、cmdで同じことをしようとすると:

msiexec.exe /qn /l* logfile.txt /i MY_FILE.msi

うまくいきません。構成ファイルの一部が破損しています。たとえば、最初のインストールでは、ユーザーはサーバーの名前を入力する必要がありますが、アップグレードでは入力する必要はありません。cmd によるアップグレードで、サーバーの名前が削除されました。(これは問題の一つです)

アップグレードの行

<Upgrade Id="GUID">
  <UpgradeVersion OnlyDetect="yes" Property="NEWER_VER_FOUND" IncludeMinimum="yes"
                        Minimum="$(var.ProductFileVersion)" />
  <UpgradeVersion Property="OLDER_VER_FOUND" IncludeMinimum="yes"
                        Minimum="1.0.0" IncludeMaximum="no" Maximum="$(var.ProductFileVersion)" />
</Upgrade>

誰でもこの問題を解決する方法を知っていますか??

別の質問: アップグレードで、アンインストール/再インストールではなく、新しいファイルと古いファイルのみを交換したい場合、何を変更する必要がありますか??

ありがとう

4

1 に答える 1

1

これは、言うまでもなくメジャー アップグレード ルールの問題ではありません。プロパティがトランザクション間で永続化されないという事実と関係があります。チェックアウト:

プロパティ パターンを記憶する

于 2013-01-07T15:07:35.377 に答える