2016-11-21 17 views
0

に動的に生成されたファイルを保持:私は動的に私は、アンインストールに維持したいデータベースファイルを生成しています。 2番目:アップグレードでは、ファイルはまったく置き換えられません。ウィックスMajorupgradeと私は</p> <p>最初のまわりで私の頭をラップすることができないことを、ここで二つの問題があり、アンインストール

新しいアップグレードのために:1.0.1から1.0.2のリリースバージョンをバンプしてください。

は、ここに私のWiXのファイルです:

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"> 
<Product Id="*" Name="St Mary Attendnace Mangement" Language="1033" Version="1.0.2" Manufacturer="Shady Atef" 
     UpgradeCode="UPGRADECODE"> 
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 
<PropertyRef Id="NETFRAMEWORK45" /> 
<Condition 
    Message='This setup requires Microsoft .NET Framework 4.5 package or greater needs to be installed for this installation to continue.'> 
    <![CDATA[Installed OR NETFRAMEWORK45]]> 
</Condition> 
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." 
       Schedule="afterInstallExecute" /> 
<MediaTemplate EmbedCab="yes" /> 


<Feature Id="ProductFeature" Title="St_Mary_Attendance_Setup" Level="1"> 
    <ComponentGroupRef Id="C_CommonAssemblies" /> 

    <ComponentRef Id="ApplicationShortcuts" /> 

</Feature> 

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramFilesFolder"> 
    <Directory Id="INSTALLFOLDER" Name="St Mary Attendnace Mangement" /> 
    </Directory> 
    <Directory Id="ProgramMenuFolder"> 
    <Directory Id="ProgramMenuSubfolder" Name="St Mary Attendnace Mangement"> 
     <Component Id="ApplicationShortcuts" Guid="ED28E3D6-5365-48E7-BD76-B3295099CF47"> 
     <Shortcut Id="ApplicationStartMenuShortcut" 
        Name="St Mary Attendance Mangement-Shortcut" 
        Description="Manage your attendance easily" 
        Target="[#fil54A6944D4CD4C2F739233096DDDBD757]" 
        WorkingDirectory="INSTALLFOLDER" /> 
     <RemoveFolder Id="ProgramMenuSubfolder" On="uninstall" /> 
     <RegistryValue Root="HKCU" Key="Software\ShadyAtef\StMaryChurchAttendance" Name="installed" Type="integer" 
         Value="1" 
         KeyPath="yes" /> 
     </Component> 
    </Directory> 
    </Directory> 
</Directory> 

</Product> 
</Wix> 

注:C_CommonAssembliesは、すべてのビルドにHeatによって生成されます。 PS:この質問はここではたくさん繰り返されていますが、私はそのほとんどを読んでいますが、何が間違っているのか分かりません。

答えて

1

実行中のアプリケーションによってファイルが生成された場合、それらはアンインストール時に自動的には削除されません.Officeをアンインストールすると、すべてのWord文書以上が削除されます。実際にDBをインストールして(それからデータを入力した場合)、アンインストール時に削除の候補になります。

メジャーアップグレードは、InstallExecuteの後に行われます。これは、アップグレードプロセスの最後に近づいています。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa370531(v=vs.85).aspx

:これは新製品が既存の製品(およびファイル)の上にインストールされ、そしてそれは、ファイルの上書きルールが適用されることを意味し、変更されたデータファイルが上書きされないことを意味しますアップグレードには以前の製品と同じアップグレードコードが必要です。同じかどうかは不明です。

+0

dbファイルはアプリケーションディレクトリ内に作成され、消去されました。 実際にはディレクトリ全体が削除されます はい、私は同じUpgradeCodeを使用します。 –

+0

私は問題を見つけました。 すべてのファイルにバージョン番号がありますが、各ビルドのアセンブリ情報が変更されていないため、ファイルが置き換えられませんでした。 ヒントありがとうございます –

+0

はい、ファイルバージョンの上書きルールが適用されるため、バージョンを増やす必要があります。あなたがそれを見つけてうれしいです。 – PhilDW

関連する問題

 関連する問題