2012-03-14 25 views
3

重要な詳細を省略している場合は、事前にお詫び申し上げます。Wix 'Advanced'インストールで以前のバージョンがアンインストールされない

新しいバージョンをインストールする前に、以前のバージョンのソフトウェア(およびすべてのコンポーネント)を削除する必要があるアップグレードを実行しようとしています。

私はあなたに細部を退屈させないようにしようとしています。あなたが「典型的な」インストールをすると、すべてが計画どおりに進むと言います。高度なインストール(すべてのユーザーにインストールを指定し、インストール場所を指定するなど)を行う場合は、「アンインストールする前のバージョン」の手順をスキップしているようです。

これまでのところ、私は次のことをやった:

は 'OLDVERSIONBEINGUPGRADED' プロパティが正しく

に設定されている-verified別のstackoverflowの質問のアドバイスを一致させるために私のUpgradeVersionタグを-Edited - アップグレードコード/ idsが同じであることを確認する、バージョン番号が順次になる(1.0.8から1.0.10にアップグレードする) - 結局のところ、 '典型的な'インストールが正しく機能する!

ここに与えられたアドバイス-Followed:WiX-- always overwrite the previous versionを、これに続く:我々はすでに何かをインストールしているので、http://wix.sourceforge.net/manual-wix3/major_upgrade.htm

-Triedそれによって以前のバージョンをアンインストールするために、手動で呼び出します。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> 

私はウィックスの初心者ですので、私は重要なDを見落としている可能性が私の問題を記述しています。重要なことを忘れてしまった場合は、教えてください。

ご提供いただける入力がありましたら、事前にお知らせください。

答えて

2

私が行ったのと同じ制限があるようですが、this questionを参照してください。アップグレードでは、インストールスコープ(「ユーザーごと」または「マシンごと」)を変更することはできません。

Windows Installerの中でこの問題を回避する方法はありません。以前のバージョンをアンインストールして新しいバージョンのインストールを開始する、別個のブートストラップのexeファイルのみを作成できます。

+0

入力いただきありがとうございます。 テストでは、毎回同じマシンごとのインストールを実行すると、同じ問題が発生することがわかりました。 これはまだ同じ制限ですか? 「マシンごと」の選択がアップグレードをブロックするのか、それともスコープが変更されるのでしょうか?あなたはそのページで提案されたハックを使用してテストしましたか? – user1267756

+0

FYI - 私たちの回避策は、高度なインストールを禁止することでした。常にユーザーごとにインストールされます。他のコンテキストで役に立つと思われる機能や機能があれば、将来的にこれを調整する必要があります。 – user1267756

+0

@ user1267756:私の場合は範囲​​の変更でした。スコープが変更されていなくてもまだ問題が発生している場合は、おそらく別の問題です。そして、いいえ、私はハックをテストしたことはありません。 –

関連する問題