重要な内容を省略しておりますので、あらかじめお詫び申し上げます。
新しいソフトウェアをインストールする前に、以前のバージョンのソフトウェア(およびすべてのコンポーネント)を削除する必要があるアップグレードを実行しようとしています。
私はあなたが詳細に退屈するのを避けようとします、そしてあなたが「典型的な」インストールをするならば、すべてが計画通りに行くと言います。高度なインストール(すべてのユーザーのインストール、インストール場所などを指定)を実行することを選択した場合、「前のバージョンのアンインストール」ステップを完全にスキップしているようです。
これまでのところ、私は次のことを行いました。
-別のstackoverflowの質問のアドバイスと一致するようにUpgradeVersionタグを編集しました
-「OLDVERSIONBEINGUPGRADED」プロパティが正しく設定されていることを確認しました
-アップグレードコード/IDが同じであり、バージョン番号が連続していることを確認します(1.0.8から1.0.10にアップグレードします)-結局のところ、「通常の」インストールは正しく機能します!
-ここで与えられたアドバイスに従いました:WiX--常に前のバージョンを上書きし、これに従いました:http ://wix.sourceforge.net/manual-wix3/major_upgrade.htm
-msiexecを手動で呼び出して、製品IDで以前のバージョンをアンインストールすることにより、ハックを実装しようとしました(これは、すでに何かをインストールしているため失敗しました-これをスケジュールするためのより良い方法はありますか?)
私の製品/アップグレードセクションは次のようになります。
<Product Id="GUID1" UpgradeCode="GUID2" Version="1.0.10.0">
<Package Compressed="yes" InstallerVersion="200"/>
<MajorUpgrade Schedule="afterInstallInitialize"
DowngradeErrorMessage="Another version of [ProductName] is already installed."/>
<Upgrade Id="GUID2">
<UpgradeVersion Minimum="1.0.10" OnlyDetect="yes"
Property="NEWERVERSIONDETECTED" />
<UpgradeVersion Maximum="1.0.10" IncludeMaximum="no"
Property="PREVIOUSVERSIONINSTALLED" />
</Upgrade>
私はWixの初心者なので、問題を説明するときに重要な詳細を見落としている可能性があります。重要なものを含めるのを怠った場合は、お知らせください。
あなたが提供できるどんな入力にも前もって感謝します。