2009-04-28 12 views
19

Ich schreibe eine Anwendung, die auf einer großen Anzahl von Desktops installiert werden muss und auch selbst aktualisiert werden muss. Wir betrachten WIX für die Erstellung der Installation. Ich habe ClickOnce verwendet und es ist keine gute Lösung für diese Installation. WIX scheint zu passen, aber es gibt keinen guten Prozess für die automatische Aktualisierung, den ich gefunden habe.Selbstaktualisierung Anwendung mit WIX installieren?

Ich habe ClickThrough betrachtet, aber es scheint noch nicht zur Prime Time bereit. Hat jemand eine andere gute Lösung, um mit WIX (oder vielleicht einem anderen Installationsprogramm) automatisch eine Anwendungsinstallation zu aktualisieren?

+0

Hay, welches Werkzeug hast du letztendlich dafür benutzt? Kannst du mich auf einige Guides verweisen? – petric

+0

Ich habe WIX benutzt, aber das ist so lange her. Entschuldigung, ich kann mich nicht mehr an die Guides erinnern, aber nicht mehr wirklich in der Windows-Welt. –

+0

Ok, thx sowieso. – petric

Antwort

10

Ja, ClickThrough ist wirklich, was Sie hier suchen. Es gibt Bits und Stücke darin, die funktionieren. Sie können den Code möglicherweise sezieren und ohne die zusätzliche "UI + Build-Integration" selbst verwenden. Die meisten Bugs sind auf den höheren Ebenen. An der Wurzel funktionieren das RSS-Update und der ausführbare Bootstrapper einwandfrei.

+0

Okay, ich werde es versuchen und sehen, wie es ist ... Ich habe gerade gelesen, dass es noch Arbeit brauchte, um fertig zu sein. Wenn ich die Hauptteile herausholen kann, dann könnte das funktionieren. –

+0

Gibt es irgendwelche exemplarischen Vorgehensweisen, Demos oder Dokumentationen? Es scheint "ClickThrough" bedeutet eine Menge anderer Dinge, die immer wieder herausgezogen werden, so dass ich nichts darüber finden kann, wie man den RSS und den Boosterrapper überhaupt benutzt. – Jay

+2

Diese Antwort scheint zu diesem Zeitpunkt veraltet zu sein. Laut dem unten stehenden Link ist ClickThrough verschwunden und kommt nicht mehr in derselben Form zurück. http://wixtoolset.org/issues/1412/ Ich weiß nicht, ob es eine Alternative gibt oder nicht ... – rbwhitaker

4

Wie "auto" -update muss es sein? :-)

Wir verwenden WiX (2.0) für eine App, die immer wieder installiert werden muss. Solange du von Version zu Version mit "Major Upgrades" gehst, klappt das ganz gut - du kannst die alte Version deinstallieren und dann die neue Version neu installieren - hier keine großen Probleme.

Der Schlüssel ist, einen stabilen "UpgradeCode" (eine GUID in Ihrem WiX) zu haben, der sich nie ändert - es ist der Schlüssel für Ihre App - und einen neuen ProductCode für jedes Release zu haben.

Dann in Ihrer wxs Datei benötigen Sie zwei Bits:

<Upgrade Id='--your-updatecode-GUID-here--'> 
    <UpgradeVersion MigrateFeatures='yes' RemoveFeatures='ALL' /> 
</Upgrade> 

<InstallExecuteSequence> 
    <RemoveExistingProducts After='InstallInitialize' /> 
</InstallExecuteSequence> 

Das sollte es tun!

Anders als das - nichts wirklich viel zu sagen - es funktioniert einfach :-)

Marc

+3

danke für die Antwort ... Ich suche nach etwas, das das Update automatisch über das Netzwerk bekommen und installieren kann. –

3

Windows Installer ist nicht wirklich für "aktualisierend" Software entwickelt. Wenn Sie MSI nicht benötigen oder die Anwendung wirklich benötigen, um eigene Updates zu "ziehen", dann verwenden Sie NSIS oder ein anderes Tool und schreiben Sie Ihre eigene Update-Routine/Service.

Wenn dies jedoch auf einer großen Anzahl von Desktops innerhalb einer Organisation installiert wird, wäre die bessere Lösung die Bereitstellung eines MSI über Active Directory. Sie können Updates dann mithilfe von Gruppenrichtlinien "pushen". Dies wird viel robuster sein als jede Anwendung, die sich selbst aktualisiert.

+0

Active Directory ist nicht wirklich eine Option für mich. Ich werde über NSIS nachlesen und sehen, ob es meinen Bedürfnissen entspricht. Danke für deine Antwort. –