Nikhil Arackal Sivadas
Nikhil Arackal Sivadas

Reputation: 123

How to create subfolder in C:\ProgramData and deploy configuration files into that folder?

I tried this using the following code but the subfolder inside the "ProgramData" folder is not created. My requirement is to install some files in install directory provided by user and deploy a few configuration files into "ProgramData", e.g. C:\ProgramData\COMPANYNAME\APPNAME.

Find the code I use below. Can anyone help me to identify the issue? Or another solution to achieve this?

 <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="APPNAME" />
      </Directory>

      <Directory Id="CommonAppDataFolder">
        <Directory Id="CommonAppDataManufacturerFolder" Name="COMPANYNAME">
          <Directory Id="MyAppDataFolder" Name="APPNAME">
          </Directory>
        </Directory>
      </Directory>
    </Directory>
  </Fragment>

Upvotes: 12

Views: 11773

Answers (2)

stoj
stoj

Reputation: 1273

It's not required to copy files into the folder to create the folder. You just need specify the element.

For instance..

  <Fragment>
    <Component Id="FolderComponent" Directory="BackupFolder" Guid="GUID" Win64="yes">
      <CreateFolder />
    </Component>
  </Fragment>

Upvotes: 3

Brian Sutherland
Brian Sutherland

Reputation: 4798

You need a feature containing a component installing into the MyAppDataFolder directory for the installer to implicitly create the folder during installation. With no component installing there the folder won't be created.

Just defining a Directory structure is not good enough to get those folders to be created.

Upvotes: 11

Related Questions