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

Unter Vista: Bei Uninstall Virtual Store löschen


3 replies to this topic

Robsta10

Robsta10
  • Full Members
  • 2 posts

Posted 15 February 2008 - 14:02

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:

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


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

Robsta10

Robsta10
  • Full Members
  • 2 posts

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




Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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 wink.gif

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.