Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Update Problem .wsx-Datei


5 replies to this topic

MacReeg

MacReeg
  • Full Members
  • 3 posts

Posted 17 December 2008 - 14:37

Hallo zusammen!

Ich bin absoluter Neuling in Sachen WiX-Tools. Aber ich brauch das derzeit in der Arbeit und beschäftige mich deshalb damit.

Mein Grundgedanke war bisher, dass ein neue Version eines MSI-Pakets (dass ich per Doppelklick starte) die alte Version der Software automatisch deinstalliert und die neue Software-Version auf den Rechner installiert. Ist ja eigentlich nix Neues, oder?

Wenn ich nun ein von mir zusammengestelltes (neue Version) MSI-Paket starte, startet dieses automatisch die alte Version des MSI-Pakets und möchte erst diese deinstallieren. Dieser Ablauf unterbindet mir aber die Möglichkeit über das neue MSI-Paket ein Update durchzuführen.

Meine Frage ist also : "Warum startet die neue Version des MSI-Pakets die alte Version des MSI-Pakets?"

Hier ein paar Codezeilen aus der wsx-Datei :

CODE
<Product UpgradeCode="0A9908C3-18D1-4AF8-97FF-53C1A7A1834D" Name="Client 6.0" Id="2492C635-AA84-46BC-81F9-D1B823A69615" Version="1.0.0" Manufacturer="Myself" Language="1033">
 <Package Id="B0F02DCB-CD76-4120-8504-A957270E5AB2" Manufacturer="Myself" InstallerVersion="200" Platforms="Intel" Languages="1033" Compressed="yes" SummaryCodepage="1252"/>
 <Directory Id="TARGETDIR" Name="SourceDir">
  <Component Id="C__822A70FA4F884921A89FAB490A88EBB3" Guid="00C7BD73-AB00-D900-B068-FC4A2FC0E1CD" KeyPath="yes">
   <CreateFolder/>
  </Component>

...


 <Upgrade Id="0A9908C3-18D1-4AF8-97FF-53C1A7A1834D">
  <UpgradeVersion Minimum="1.0.0" Property="NEWERPRODUCTFOUND" OnlyDetect="yes" IncludeMinimum="yes"/>
  <UpgradeVersion Minimum="1.0.0.0" Maximum="1.0.0" Property="PREVIOUSVERSIONSINSTALLED" IncludeMinimum="yes"/>
 </Upgrade>


Danke für die Hilfe im voraus!

Gruß MacReeg


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 December 2008 - 15:56

Es gibt zwei wesentliche Typen von Updates: Minor oder Major.

In jedem Fall musst du den PackageCode ändern und du solltest auch die ProductVersion erhöhen.

Für ein Major Update musst du den ProductCode ändern, den UpgradeCode aber beibehalten. Außerdem musst du einen Eintrag in der Tabelle Upgrade erstellen (wie das genau geht, fragst du besser in WiX Mailingliste). Dann sollte die alte Version automatisch deinstalliert werden wenn du die neue msi-Datei startest.

Für ein Minor Update muss der ProductCode gleich bleiben und es sind eine Reihe von Einschränkungen zu beachten. Zum Ausliefern eines Minor Update gibt es zwei Möglichkeiten:
Als .msi Datei über
msiexec.exe /I Deine.msi REINSTALLMODE=vomus REINSTALL=ALL
aufrufen. Typischerweise verwendet man dazu eine setup.exe, damit der User diese Kommandozeile nicht manuell eingeben muss.
Oder du erstellst daraus einen Patch (.msp-Datei), das ist im Prinzip eine Differenz aus der alten und der neuen Version. Diesen Patch kannst du durch Doppelklick auf die .msp-Datei starten, ohne die o.g. Kommandozeile.

Ausführlicher ist das auch in der MSI-Doku und hier auf InstallSite im Abschnitt Windows Installer > Updates beschrieben

Holger_G

Holger_G
  • Full Members
  • 155 posts

Posted 17 December 2008 - 16:23

Hier noch ein evtl. für Dich interessanter Blog Eintrag von Aaron Stebner:
http://blogs.msdn.co...16/9229827.aspx

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 December 2008 - 17:29

QUOTE (nrivers @ 2008-12-17 16:23)
Hier noch ein evtl. für Dich interessanter Blog Eintrag von Aaron Stebner:
http://blogs.msdn.co...16/9229827.aspx

Danke! Das nenne ich perfektes Timing (der Artikel ist erst vor wenigen Stunden erschienen)

MacReeg

MacReeg
  • Full Members
  • 3 posts

Posted 18 December 2008 - 09:48


Danke zusammen!

Werde es so durchführen und mich nochmal melden, ob es geklappt hat.

Gruß MacReeg


MacReeg

MacReeg
  • Full Members
  • 3 posts

Posted 18 December 2008 - 13:02

Super, Klasse - es funktioniert. Genau das wars!

Danke nochmal!

Gruß MacReeg