Ich habe zwei Probleme hier, dass ich nicht meinen Kopf umWix Majorupgrade und halten dynamisch generierten Dateien auf Deinstallation
wickeln kannDie erste: Ich habe dynamisch generierte Datenbankdateien, die ich bei der Deinstallation behalten möchten. Die zweite: Beim Upgrade werden keine Dateien ersetzt.
Was ich für ein neues Upgrade tun: Einfach die Release-Version von 1.0.1 bis 1.0.2.
Hier ist meine Wix-Datei:
<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>
Hinweis: C_CommonAssemblies
von Heat
auf jedem Build erzeugt wird. PS: Ich weiß, dass diese Frage hier oft wiederholt wird und ich habe die meisten von ihnen gelesen, aber ich kann nicht herausfinden, was los ist.
Die db-Datei wird im Anwendungsverzeichnis erstellt und gelöscht. In der Tat das gesamte Verzeichnis entfernt Ja, ich verwende den gleichen UpgradeCode. –
Ich habe das Problem gefunden .. Simply Alle Dateien hatten Versionsnummern, aber ich habe nicht die Assembly-Info für jeden Build geändert, so dass es die Dateien nicht ersetzt. Vielen Dank für den Hinweis –
Ja, die Überschreibungsregeln der Dateiversion gelten, daher müssen die Versionen inkrementiert werden. Freut mich, dass du es gefunden hast. – PhilDW