Hallo!
Habe mit diesem Problem nun schon eine Weile zu kämpfen. Habe ein Basic-MSI Project mit Installshield 11.5 erstellt. Meine Applikation basiert auf Eclipse und erzeugt beim Betrieb jede Menge Files im Installationsverzeichnis. Das MSI Packet kann bei der Deinstallation infolgedessen das Installationsverzeichnis nicht mehr löschen. Ich habe da mit diesem kleinen VBScript ausgeführt als CA nachgeholfen:
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.

Unter Vista: Bei Uninstall Virtual Store löschen
Started by
Robsta10
, Feb 15 2008 14:02
3 replies to this topic
Posted 15 February 2008 - 14:02
CODE |
Dim fso, folder2Delete, installDir Set fso = CreateObject("Scripting.FileSystemObject") installDir = Session.Property("INSTALLDIR") folder2Delete = Left(installDir, Len(installDir) - 1) if fso.FolderExists(folder2Delete) then fso.DeleteFolder(folder2Delete) end if |
Nun ist es in Windows Vista ja so, dass die Applikation nicht in das C:\Programme Verzeichnis schreiben darf (was ich aber nicht unterbinden kann ), sondern die von der Applikation erstellten Dateien in den Virtual Store umgeleitet werden.
Ich suche nun eine Möglichkeit diesen Virtual Store zu löschen, was nach einer eventuellen Neuinstallation sehr wichtig wäre (ansonsten ist zum Beispiel der About Dialog veraltet).
Die Dateien werden in diesem Schema abgelegt:
C:\Users\<user>\AppData\Local\VirtualStore\Program Files\<installdir>
Eigentlich müsste das doch mit einem Script zu lösen sein, nur weiß ich nicht wie man per VBScript an den aktuellen user kommt.
LG,
Robert
Posted 15 February 2008 - 14:47
QUOTE |
erzeugt beim Betrieb jede Menge Files im Installationsverzeichnis |
Pfui!
Aktionen von Instalaltionsprogrammen werden nicht in den Virtual Store umgeleitet, deshalb löscht dein Skript die Dateien dort nicht.
Außerdem hat jeder User seinen eigenen virtual Store, du müsstest also die entsprechenden Verzeichnisse aller Benutzer löschen.
Stefan Krüger
InstallSite.org twitter facebook
Posted 18 February 2008 - 09:33
Erstmal danke für die Antwort
QUOTE |
Pfui! |
Vielleicht liegt ein Missverständnis vor. Meine Applikation basiert auf der Eclipse Rich Client Platform (RCP). Die Applikation selbst erzeugt Files im Installationverzeichnis, genauer gesagt dieses RCP Framework macht das. Darauf hab ich leider keinen Einfluss, was das Framework produziert. Darum nehm ich das Pfui jetzt nicht persönlich. Wiewohl ich sagen muss, dass es natürlich auch schöner wäre, wenn RCP diese Daten in das Benutzerverzeichnis speichern würde.
Um den aktuellen Benutzer in VBScript zu erhalten habe ich diesen Code benutzt:
CODE |
Dim objNet, user Set objNet = CreateObject("WScript.NetWork") user = objNet.UserName |
Posted 19 February 2008 - 12:49
QUOTE |
Darum nehm ich das Pfui jetzt nicht persönlich. |
So war's auch nicht gemeint, da hat der Smiley gefehlt
Trotzdem wäre die saubere Lösung, nicht ins Installationsverzeichnis zu schreiben. Vielleicht kannst du den Eclipse-Hersteller mal darauf hinweisen, dass er dir damit Probleme bereitet.
Der angemeldete User steht auch im Windows Installer Property LogonUser. Aber du müsstest ja die Dateien in den Virtual Stores aller Benutzer löschen, also für jeden einzeln.

Trotzdem wäre die saubere Lösung, nicht ins Installationsverzeichnis zu schreiben. Vielleicht kannst du den Eclipse-Hersteller mal darauf hinweisen, dass er dir damit Probleme bereitet.
Der angemeldete User steht auch im Windows Installer Property LogonUser. Aber du müsstest ja die Dateien in den Virtual Stores aller Benutzer löschen, also für jeden einzeln.
Stefan Krüger
InstallSite.org twitter facebook