2010-11-18 5 views
0

Ich arbeite an einem Projekt, wo ich eine Reparatur/Entfernen-Option zu meinem Installer geben [die bei der Installation angezeigt wird], wenn das Programm zuvor installiert wurde. Und ich muss es mit VS 2008 tun. Bitte helfen Sie mir dabei..Net Installer Reparatur-Option

EDIT: Eigentlich aus irgendeinem Sicherheitsgründen entferne ich Registrierungseintrag für vorherige Installation. Damit kann ich es nur von meiner Anwendung deinstallieren, die passwortgeschützt ist. Deshalb muss ich diese Reparatur/Entfernungsoption anpassen. So dass es angezeigt wird, indem ein bestimmter Registrierungswert angezeigt wird. Wie kann ich das machen ?

Danke.

+0

Haben Sie bereits mit Ihrem Setup-Projekt begonnen? Die Reparaturoption sollte standardmäßig vorhanden sein. –

+0

@ 0xA3: siehe Bearbeiten – Barun

+0

Wenn Sie Ihr Produkt aus der MSI-Datenbank entfernen, weiß das Installationsprogramm standardmäßig nicht, dass Ihr Produkt bereits installiert wurde, und installiert die Anwendung neu. Das ist nicht anders als die Reparatur in den meisten Fällen. –

Antwort

1

Fügen Sie Ihrer aktuellen Lösung einfach ein Setup-Projekt hinzu. Ein Setup-Projekt verwendet die Windows Installer-Technologie, die Ihnen die Reparatur- und Entfernungsoption kostenlos zur Verfügung stellt. Verwenden Sie diesen Projekttyp bei einer "einfachen" Installation. Wenn Sie mehr Kontrolle wünschen (benutzerdefinierte Dialoge), sollten Sie Wix installieren. Es wird in VS eingefügt und Sie können eine Installationsdatei in XML definieren, die dann in ein Windows Installer-Paket kompiliert wird.

+0

Bitte überprüfen Sie bearbeiten. – Barun

+0

Verwenden Sie Wix, sollte es in der Lage sein, mit Ihren Anforderungen umzugehen. – ZippyV

0

Ich glaube, WIX ist besser für Ihre Anforderungen geeignet, wenn Sie mehr Kontrolle über Ihren Installateur haben.

Wenn Sie Ihre Anwendung nur aus Ihrer Anwendung deinstallieren möchten, können Sie wahrscheinlich eine benutzerdefinierte Aktion (oder Bedingung) in Ihrem Installer hinzufügen, die überprüft, ob die Installer-Aktion (Reparieren/Entfernen) von Ihrer Anwendung gestartet wurde von ARP.

Eine Möglichkeit wäre, eine benutzerdefinierte Eigenschaft aus Ihrer Anwendung an die msiexec zu übergeben, die in Ihrer benutzerdefinierten Aktion (oder Bedingung) getestet wurde und das Installationsprogramm nicht weiterverarbeiten lässt, wenn es ohne diese Eigenschaft ausgeführt wird.