The SuezCollection
TheSuezCollectionLogo

WIX

Allgemein

Den installierten Dateien und Verzeichnisse kann man das gesamte Spektrum von Attributen, das Windows so bietet, verpassen.
Tabelle 1: Mögliche Attribute für Verzeichnisse und Dateien
Attribut Beschreibung
  Verzeichnis Datei
GenericAll Vollzugriff Vollzugriff
GenericRead Ordner auflisten, Attribute lesen, erweiterte Attribute lesen, Berechtigungen lesen Daten lesen, Attribute lesen, erweiterte Attribute lesen und Berechtigungen lesen.(Nicht allein stehend verwendbar)
GenericWrite Dateien erstellen, Ordner erstellen, Attribute schreiben, erweiterte Attribute schreiben, Berechtigungen lesen In die Datei schreiben, erweiterte Attribute schreiben und Berechtigungen lesen
GenericExecute Ordner durchsuchen, Attribute lesen und Berechtigungen lesen Dateien ausführen, Attribute lesen und Berechtigungen lesen
SpecificRightsAll Dateien ausführen, Daten schreiben, Daten lesen, Daten anhängen, erweiterte Attribute lesen und erweiterte Attribute schreiben
Synchronize Keine grundlegenden oder erweiterten Berechtigungen
FileAllRights Schaltet alle Rechte auf die Datei ein
Traverse Ordner durchsuchen
Read Ordner auflisten Daten lesen
ReadAttributes Attribute lesen Attribute lesen
ReadExtendedAttributes Erweiterte Attribute lesen Erweiterte Attribute lesen
Write Daten schreiben
Append Daten anhängen
CreateFile Dateien erstellen
CreateChild Ordner erstellen
WriteAttributes Attribute schreiben Attribute schreiben
WriteExtendedAttributes Erweiterte Attribute schreiben Erweiterte Attribute schreiben
DeleteChild Unterordner und Dateien löschen
Delete Löschen Löschen
ReadPermission Berechtigungen lesen Berechtigungen lesen
ChangePermission Berechtigungen ändern Berechtigungen ändern
TakeOwnership Besitz übernehmen Besitz übernehmen

Einbau

Der Einbau ist hier grunsätzlich beschrieben

Projekt herunter laden .



1: CMAKE_MINIMUM_REQUIRED(VERSION 3.1.0) 2: IF (POLICY CMP0048) 3: CMAKE_POLICY(SET CMP0048 NEW) # Wg. VERSION im project Befehl 4: ENDIF (POLICY CMP0048) 5: 6: PROJECT(DateiAttribute VERSION 1.2.3 LANGUAGES NONE) 7: 8: INSTALL(FILES DateiNachVerz1.txt DESTINATION Verz1) 9: INSTALL(FILES DateiNachVerz2.txt DESTINATION Verz2) 10: INSTALL(FILES DateiNachVerz3.txt DESTINATION Verz3) 11: INSTALL(FILES alles.txt schreiben.txt lesen.txt DESTINATION DateiEigenschaften) 12: 13: # Installiere diese Verzeichnisse mit Ausnahme von IchNicht.txt 14: INSTALL( 15: DIRECTORY 16: LeeresVerzMitAttributen 17: NichtLeeresVerzMitAttributen 18: LeeresVerz 19: NichtLeeresVerz 20: DESTINATION ./ 21: PATTERN "IchNicht.txt" EXCLUDE 22: ) 23: 24: # Standard -------------------------------------------------------- 25: SET(CPACK_WIX_UPGRADE_GUID 681EBCC0-F1E6-44D0-B565-28FC3A2E677D) 26: SET(CPACK_WIX_CULTURES "de-DE") 27: SET(CPACK_GENERATOR WIX) 28: # Standard Ende --------------------------------------------------- 29: 30: # Ueberschreibe diese Dateien nie (nur WiX) 31: SET_PROPERTY(INSTALL Verz1/DateiNachVerz1.txt Verz3/DateiNachVerz3.txt 32: PROPERTY CPACK_NEVER_OVERWRITE ON) 33: 34: # Deinstalliere diese Dateien nie (nur WiX) 35: SET_PROPERTY(INSTALL Verz2/DateiNachVerz2.txt Verz3/DateiNachVerz3.txt 36: PROPERTY CPACK_PERMANENT ON) 37: 38: # Hier stehen weitere Eigenschaften des Elements Permission 39: SET_PROPERTY(INSTALL DateiEigenschaften/alles.txt 40: PROPERTY CPACK_WIX_ACL "Everyone=GenericAll") 41: 42: SET_PROPERTY(INSTALL DateiEigenschaften/schreiben.txt 43: PROPERTY CPACK_WIX_ACL "Everyone=GenericWrite") 44: 45: SET_PROPERTY(INSTALL DateiEigenschaften/lesen.txt 46: PROPERTY CPACK_WIX_ACL "Everyone=GenericRead,Read,ReadPermission,Delete") 47: 48: SET_PROPERTY(INSTALL LeeresVerzMitAttributen NichtLeeresVerzMitAttributen 49: PROPERTY CPACK_WIX_ACL "Everyone=CreateFile,GenericWrite,GenericRead") 50: 51: include(CPack)

Erläuterungen zum Skript

Eigenschaften, die irgendwann allen Generatoren zur Verfügung stehen

Tabelle 2: Allgemeine Verzeichnis- und Dateieigenschaften
Attribut Beschreibung
CPACK_DESKTOP_SHORTCUTS Liste mit Namen für Abkürzungen, die für eine bestimmte Datei auf dem Desktop erzeugt werden soll.
CPACK_NEVER_OVERWRITE Die bestimmte Datei darf bei der Installtion oder Reinstallation nicht überschrieben werden.
CPACK_PERMANENT Die bestimmte Datei darf nicht entfernt oder Deinstalliert werden.
CPACK_START_MENU_SHORTCUTS Liste mit Namen für Abkürzungen, die für eine bestimmte Datei im Start-Menü erstellt wird.
CPACK_STARTUP_SHORTCUTS Liste mit Namen für Abkürzungen, die für eine bestimmte Datei im Start-Menü-Verzeichnis erstellt wird.
CPACK_WIX_ACL Zugriffs-Erlaubisse für Dateien und Verzeichnisse, die vom WiX-Generator installiert werden

Die CPACK_WIX_ACL-Eigenschaft

Die CPACK_WIX_ACL-Eigenschaft hat einen Komplett anderen Aufbau wie die anderen Eigenschaften, die irgenswann mal auch für andere Generatoren gelten soll. Sie bedient das Permissions-Element des WiX-Generator direkt ( Dokumentation des Permmissions-Elements) "Everyone kann" durch "Administrators" oder durch "[WIX_ACCOUNT_USERS]"" wenn die Gruppe Benutzer berechtigt zur Änderungen sein soll. Beispiel: SET_PROPERTY(INSTALL DateiEigenschaften/alles.txt PROPERTY CPACK_WIX_ACL "[WIX_ACCOUNT_USERS]=GenericAll")

Erstellung des Installtionsprogramm

Das Paket wird genauso wie hier beschrieben erstellt.

Ausführung der Installation

Die Ausführung der Installtion erfolgt genauso wie hier beschrieben erstellt.

Deinstallation

Das Programm kann mit den bekannten Deinstallations-Mechanismen deinstalliert werden.