 |
Doctor Deploy: software deployment, - distribution, repackaging, msi, windows installer, client management, installation, setup : forum - discussion boards
|
| Author |
Message |
bingen
Melchisedech


Joined: 04 Jun 2004
Posts: 257
Location: 48°42' n.Br./09°09' ö.L.
|
Posted:
Tue, 31.Oct.2006, 14:38 |
 |
Es stellt sich immer wieder das Problem, aus einem Windows Installer Paket heraus, die Sicherheitseinstellungen von Dateien, Verzeichnissen oder Registryeinträge zu ändern.
Lösungen dazu gibts wie Sand am Meer. Wahrscheinlich hat jeder, der sich mal intensiver mit MSI beschäftigt hat schon eine eigene Lösung geschrieben...
Diese variieren vom VB-Script bis hin zu setacl.exe. Nachfolgend mal eine Beschreibung wie so etwas recht einfach mit secedit.exe und templates gemacht werden kann:
1. Custom Action einfügen
Zuerst fügt man eine Custom Action ins MSI Paket ein. Diese ruft dann im Falle einer Installation oder einer Reparatur unseren secedit auf:
| Code: |
"MySecurityCA","3170","SystemFolder","secedit.exe /configure /db "[OurTeplateDir]\[SEC_INF_NAME].sdb" /cfg "[OurInfDir]\[SEC_INF_NAME].inf" /areas FILESTORE /log "[OurLogDir]\[SEC_INF_NAME].log""
|
Statt den Properties fuer die Verzeichnisnamen könnte man auch feste Werte eintragen. Wenn mit Variablen gearbeitet wird, dann müssen diese Verzeichnisse in der Directory Table natürlich auch existieren.
2. Custom Action zur InstallExecuteSequence hinzufügen
Unsere Custom Action wird ein die InstallExecuteSequence, am Besten kurz vor InstallFinalize, eingetragen.
| Code: |
"MySecurityCA","(NOT Installed OR REINSTALLMODE~="omus) AND SEC_INF_NAME"","6428"
|
Die Custom Action sollte "deferred", also nicht während des ersten Durchlauf desd Skripts, ausgeführt werden, da ansonsten das Verzeichnis/Datei/Regkey noch gar nicht existiert.
3. Security INF Datei erstellen und hinzufügen
mit der MMC (SnapIn Securitytemplates hinzufügen) wird die INF Datei mit den geänderten Berechtigungen erstellt. Dann wird diese INF Datei als Komponente zum Hauptfeatures hinzugefügt. Wichtig ist wohin die INF Datei installiert wird (im obigen Beispiel in [OurInfDir]), denn der Benutzer sollte darauf keine Schreibrechte haben.
4. Deinstallation
Bei der Deinstallation sollte die INF Datei wieder gelöscht werden. Falls das Objekt, dessen Security geändert wurde, nicht deinstalliert wird, so sollte die Anpassung der Security rückgängig gemacht werden. |
|
|
  |
 |
|
|
|
|
|
View next topic
View previous topic
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Service provided by flatbyte.com
::
Powered by phpBB
:: FI Theme
:: Imprint ::
All times are GMT + 1 Hour
| |