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

Löschen von Dateien im Programm-Ordner


Best Answer Spitfyr , 15 October 2015 - 14:05

Ich habe das Problem durch Anlegen einer neuen Script-CA mit der Eigenschaft "Deferred Executon in Sstem Context" lösen können.

 

Diese CA muss dann innerhalb "InstallInitialze" und "InstallFinalize" platziert weden.

Da man in dieser CA aber nicht auf die Properties der Installation zugreifen kann, müssen die benötigen Daten (Pfadangabe zum löschen etc.)

per CustomActionData-Property übergeben werdeen.

 

Dazu mus man CA Typ 51 (Property setzen) anlegen und in diesem die benötigen Daten einem Property  (das Property muss den gleichen Namen haben

wie die Skript-CA)  zuweisen.

Wenn man nun in der CA die CustomActionData ausliest erhält man alle notwendigen Daten.

 

MfG

  Dietmar

Go to the full post


1 reply to this topic

Spitfyr

Spitfyr
  • Full Members
  • 162 posts

Posted 13 October 2015 - 11:31

Hallo,

wir installieren ein Programm in die Standardordner die Windows vorgibt (Programmdata und AppData).

Das Setup hat den "Reqiured Execution Level" Administrator, so das sofort beim Start des Setups die

Benutzerkontensteuerung (UAC) fragt, ob das Programm ausgeführt werden soll/darf.

 

Nun wird alles installiert. Wir installieren auch einen Dienst der im Programmorder Vollzugriff hat  (systemdienst).

Über diesen Weg können wir einfach Updates und Patchlevel im Programmorder als Unterordner installieren.

 

Wenn nun aber das Programm über "Programme und Funktionen" deinstalliert werden soll bleiben diese nachträglich angelegten Ordner

zurück da sie ja nicht durch das Setup installiert worden sind.

 

Alle Versuche, die Ordner per Installskript zu löschen schlugen fehl, da das Setup keinen Zugriff auf diese Ordner hat. (wenn man die Setup.exe startet und dann

die Deinstallation durchführt geht das, da ja beim Start der Setup.exe sofort die UAC anschlägt und man dadurch die Rechte erhält).

 

Auch beim Deinstallieren über "Programme und Funktionen" erscheint während der Installation ja die UAC und fragt, ob man fortfahren will.

Doch wenn später dass Skript ausgeführt wird hat man nicht mehr die notwendigen Rechte zum Entfernen der Dateien/Ornder (DeleteDir).

 

Da wir jetzt noch nicht wissen, wieviele Unterordner und mit welchen Namen später im Programmordner angelegt werden, sollen alle Unterorder

per Skript gelöscht werden.

 

Aber wie erhält man dazu die notwendigen Rechte?

 

Grüße

  Dietmar

 

 

 

 

 

 



Spitfyr

Spitfyr
  • Full Members
  • 162 posts

Posted 15 October 2015 - 14:05   Best Answer

Ich habe das Problem durch Anlegen einer neuen Script-CA mit der Eigenschaft "Deferred Executon in Sstem Context" lösen können.

 

Diese CA muss dann innerhalb "InstallInitialze" und "InstallFinalize" platziert weden.

Da man in dieser CA aber nicht auf die Properties der Installation zugreifen kann, müssen die benötigen Daten (Pfadangabe zum löschen etc.)

per CustomActionData-Property übergeben werdeen.

 

Dazu mus man CA Typ 51 (Property setzen) anlegen und in diesem die benötigen Daten einem Property  (das Property muss den gleichen Namen haben

wie die Skript-CA)  zuweisen.

Wenn man nun in der CA die CustomActionData ausliest erhält man alle notwendigen Daten.

 

MfG

  Dietmar