My requirement is to create a directory in programdata/test/example. How can I do that in wix?
Go to My Sites in your Wix account. Click Create New Folder at the top right. Enter a name for the folder and click Create.
In the Wix Editor, click “Add” in the left-side menu, and choose “List Builder. ”Choose the type of list you want to add. You can use one of the presets or build a new list with the Blank option.
Define the folder like this:
<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="CommonAppDataFolder"> <Directory Id="TestFolder" Name="test"> <Directory Id="ExampleFolder" Name="example" /> </Directory> </Directory> </Directory>
The important part here is the CommonAppDataFolder
Id, which is known by Windows installer. You can find the full list of known system folders in the Windows Installer Property Reference.
If you install any files to that folder, it will be created implicitly. If not, you can force it to be created by installing a component like this:
<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE"> <CreateFolder /> </Component>
Under <Product>
you can enter:
<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>
And reference the component CreateProgramDataZZZ
in your feature
.
It can also be helpful to set permissions on the directory like this:
<CreateFolder> <util:PermissionEx User="Users" GenericAll="yes" /> </CreateFolder>
(in place of <CreateFolder />
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With