2016-05-19 19 views
0

msiファイルを作成するのにWIXを使用しています。私はメジャーアップグレードを使用しています。アップグレードは正しく動作しますが、ビルド9などの新しいビルドをアンインストールして古いものをインストールすると(例3)、現在マシンに何もインストールされていないのにエラーが表示されますこのバージョンはインストール済みより古いです。インストールは終了します。 これは私のWIX設定です。WIX:アップグレードを有効にして新しいビルドをアンインストールして古いものをインストールしようとしてもアプリケーションをインストールできない

<Product Id="*" Name="My App" Language="1033" Version="1.0.12" 
      Manufacturer="MyApp" UpgradeCode="CDDBYUYB-7C1D-4B80-BA00-244ETERETE09A"> 
    <Package 
     InstallerVersion="200" 
     Compressed="yes" 
     InstallScope="perMachine" 
     InstallPrivileges="elevated"/> 
    <Media Id="1" Cabinet="MyApp.cab" EmbedCab="yes"/> 
    <MajorUpgrade 
     AllowDowngrades="no" 
     DowngradeErrorMessage="!(loc.DowngradeError)" 
     AllowSameVersionUpgrades="no" 
     IgnoreRemoveFailure="no" 
     Schedule="afterInstallValidate" /> 
+0

この問題のヘルプ – yo2011

+0

パッケージの残りの部分が残っている必要があります。 'Version'も古いビルドでは違います、そうですか?提供されるコードでは、 'Version =" 1.0.12 "'となります。ビルド9とビルド3のバージョンは何ですか?一部のコンポーネントが永久にインストールされていますか? – taffit

+0

/l * v switchで作成された関連するMSIログを含めてください。それ以外の場合は、インストールが失敗する理由を推測しているだけです。 –

答えて

1

アップグレードが正しく機能することを確認する必要があります。たとえば、マシンごとのインストールを行った場合、ユーザー1人あたりの「アップグレード」は、両方の製品がまだインストールされているため、実際のアップグレードはありません。新しいユーザーごとの設定をアンインストールした場合は、マシンごとに1つのインストールが残っていて、それをダウングレードすることはできません。その逆の状況では、クロスコンテキスト「アップグレード」と同様のシナリオがあります。したがって、これらは推測であり、状況全体を知ることはできません。必要な情報は、最初のインストールの冗長なログであり、アップグレードが動作していることが主なものです。

「Nothing on the machine」は、ARPSYSTEMCOMPONENT = 1を使用するだけの場合もあります。また、異なる資格情報でログインしている場合、別のアカウントにインストールされている製品は表示されません。同じPackageCodeがこれらのタイプの問題を引き起こす可能性があるので、Package要素に自動生成されたId "*"があった方が良いでしょう。

アップグレードの詳細ログを取得し、古い製品が見つかったことを確認します。

MSIのバグかもしれませんが、ありそうもありません。私がこの問題を遭遇したのは、製品自体にインストール済みとマークされていないにもかかわらず、システムに部分的なUpgradeCode情報が残っていた致命的なマシンクラッシュ中です。これは単一のマシンに固有なので、クリーンマシンでシナリオを繰り返すことで、これが問題であるかどうかを検証できます(仮想マシンはこのためのアイデアです)。

最も簡単な迂回路は、新しいUpgradeCodeで再起動することです。常にすべてのビルドで常に新しいPackageCodeを生成し、ProductCodeも変更し、それぞれのメジャーアップグレードで必ず作成するようにしてください。

+0

こんにちはphilDw、左の部分的なアップグレードコード情報が私のマシンに残っているかどうか、そしてこの問題をきれいにする方法を確認できますか?注:私は正しく動作する古いビルドがありますが、私はこの問題の原因を特定できません。私はTFSの変更を見ましたが、私が追加したカスタムアクションに関連しています。 – yo2011

+0

アップグレードコードは、HKLM \ software \ Microsoft \ Windows \ CurrectVersion \ Installer \ UpgradeCodesで難読化されています。または、MsiEnumRelatedProducts(UpgradeCode ..)を使用してそれらを検索してください。また、ユーザーごとのインストールではHKCUに相当する可能性があります。 – PhilDW

+0

こんにちはPhilDW、ログファイルを見て、私はこの文を発見した。ダウングレードが検出されたが、これらのエントリを削除してクリーンな状態から開始する方法が示されています。プロパティ(C):WIX_DOWNGRADE_DETECTED = {4D441EDE-DF5C-4D65-A5F1-DF7F75040C0D}; {2FED60BE-34FA-4142-A84B-DBBAAF6A7F2B }; {7794F5FD-6441-4317-89D0-294DFAA7B5DE}; {7F2C40AF-99C9-46C6-B230-A92BCC64266C}; {5569D2CC-30B3-42CD-8CB0-1CB5348F5468}; {C6E65399-1F8C-43A1-A533-F370196EC246}; {4C966063-18E2-40E9-987B-A3DADDA82ECD}; {2C9DEDC0-1F23-4C30-BC47-27E5DFB7024C}; {72A51A9A-A0A7-45C3-8026-A0237BD1CBC4}; {64354ED7-6B98-44D9-B40C-5B5287A98647} – yo2011

関連する問題