Meine Anforderung ist, ein Verzeichnis in programdata/test/example zu erstellen. Wie kann ich das in Wix machen?Wie erstellt man ein Verzeichnis in Wix?
Antwort
Definieren Sie den Ordner wie folgt aus:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="CommonAppDataFolder">
<Directory Id="TestFolder" Name="test">
<Directory Id="ExampleFolder" Name="example" />
</Directory>
</Directory>
</Directory>
Der wichtige Teil ist hier die CommonAppDataFolder
Id, die vom Windows-Installer bekannt ist. Sie können die vollständige Liste der bekannten Systemordner in der Windows Installer Property Reference finden.
Wenn Sie Dateien in diesem Ordner installieren, wird diese implizit erstellt. Wenn nicht, können Sie es zwingen, durch die Installation einer Komponente wie folgt erstellt werden:
<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE">
<CreateFolder />
</Component>
Unter <Product>
Sie eingeben können:
<DirectoryRef Id="TARGETDIR">
<Directory Id="CommonAppDataFolder">
<Directory Id="CommonAppXXXX" Name="test">
<Directory Id="CommonAppYYYY" Name="example">
<Component Id="CreateProgramDataZZZ" Guid="ABC-ETC">
<CreateFolder />
</Component>
</Directory>
</Directory>
</Directory>
</DirectoryRef>
Und verweisen auf die Komponente CreateProgramDataZZZ
in Ihrem feature
.
Es kann auch hilfreich sein, Berechtigungen festlegen auf das Verzeichnis wie folgt aus:
<CreateFolder>
<util:PermissionEx User="Users" GenericAll="yes" />
</CreateFolder>
(anstelle von <CreateFolder />
)
hat jemand Idee Ordner erstellen und Dateien im selben Ordner verschieben? – Sudhakar
Verwenden Sie WIX_ACCOUNT_USERS für Benutzer =, da sich das Konto in anderen Sprachen ändert. – LeoPucciBr
ich diesen Fehler erhalten, wenn es mit: 'Fehler CNDL0205: Verzeichnis mit Id 'CommonAppDataFolder' ist kein gültiges Stammverzeichnis. '(plus ein bisschen mehr über nur ein einziges Wurzelverzeichnis pro Produkt). Was mache ich falsch? – noelicus
@noelicus: Im Windows-Installationsprogramm muss das übergeordnete Verzeichnis der obersten Ebene immer TARGETDIR sein. Ich werde meine Antwort aktualisieren, um dies zu klären. –
@WimCoenen Ist es möglich, Ordner/files1..to..files5 während der Installation von Wix Installer zu kopieren. – Royal