gelöschte Datei wird automatisch nachinstalliert

18/04/2009 - 23:25 von Thomas Eisenmann | Report spam
Hallo alle miteinander,

ich habe mit VB.2008 eine WindowsForms-Anwendung erstellt. Um diese
Anwendung zu verteilen, habe ich ein Setup-Projekt der Projektmappe
hinzugefügt. Dem Setup-Projekt habe ich auch mehrere xml-Dateien hinzugefügt,
welche mir zur Datenspeicherung dienen. Anschließend habe ich das Setup
erstellt und auf einem Zielrechner installiert.

Nun meine Frage: Eine dieser XML-Datei wird nicht mehr benötigt. Wenn ich
nun diese Datei auf dem Zielrechner lösche und anschließend die Anwendung
starte, wird ein Installer aufgerufen welcher mir die gelöschte XML-Datei
wieder installiert.

Was muss ich machen, wo muss ich einen Parameter àndern, dass die gelöschte
Datei beim Anwendungsstart nicht wieder „nachinstalliert“ wird?

Was ich nicht möchte, ein neues Setup erstellen, wo diese Datei fehlt.

Danke im Voraus
Grüße Thomas
 

Lesen sie die antworten

#1 Thorsten Doerfler
19/04/2009 - 00:37 | Warnen spam
Thomas Eisenmann schrieb:
Nun meine Frage: Eine dieser XML-Datei wird nicht mehr benötigt. Wenn ich
nun diese Datei auf dem Zielrechner lösche und anschließend die Anwendung
starte, wird ein Installer aufgerufen welcher mir die gelöschte XML-Datei
wieder installiert.

Was muss ich machen, wo muss ich einen Parameter àndern, dass die gelöschte
Datei beim Anwendungsstart nicht wieder „nachinstalliert“ wird?



Es ist eigentlich mit ein Kernfeature des Installer sicherzustellen,
dass die Anwendung alle benötigten Dateien zur Ausführung vorfindet.
Unter Berücksichtigung der gewàhlten Features. Und wenn eine Datei im
Setup ist, wird sie auch höchstwahrscheinlich von der Anwendung
benötigt. Das zumindest die Annahme hinter dem Konzept.

Bei den Eigenschaften im VS Setup Projekt, wàre mir keine direkte
Eigenschaft bekannt, eine Komponente als optional zu kennzeichnen. Über
einen Umweg kann man zumindest das Nachinstallieren verhindern:

Trage in die Condition Eigenschaft der Datei(en) 'ProductState = -1' ein
und die Transitive Eigenschaft stellst Du auf 'True'.

Macht folgendes: Die Bedingung besagt, dass er Installationszustand des
Produkts unbekannt, also nicht installiert sein muss, damit die Datei
installiert wird. Transitive weist den Installer an, obige Bedingung bei
einer Reparaturinstallation erneut zu prüfen.

Heißt aber auch, dass der Installer mindestens einmal aufpoppt, nachdem
die Datei gelöscht wurde. Bei den weiteren Anwendungsstarts dann jedoch
nicht mehr.

Es gibt aber sicher noch andere Möglichkeiten. Klarer Favorit wàre
natürlich die Erstellung und Ausbringung eines neuen Setups.

Thorsten Dörfler
Microsoft MVP Visual Basic

vb-hellfire visual basic faq | vb-hellfire - einfach anders
http://vb-faq.de/ | http://www.vb-hellfire.de/

Ähnliche fragen