[wix-users] Installing to GetSystemDirectory() location

Alejandro Exojo alex at vikingsoft.eu
Tue Sep 29 10:45:11 PDT 2015


Hi.

I'm packaging with my application a third party project (Dokan). I'm a
total WiX beginner, and I probably don't know all the details about
how to make an installer for all the CPU/OS combinations. Right now I
just have a wxs file from which I generate the MSI.

Dokan provides a helper program that, with every file copied in the
right place, registers everything and works fine, so I'm trying to
replicate the following:

* SystemFolder\dokan.dll (regular library)
* SystemFolder\dokannp.dll (a network provider)
* SystemFolder\drivers\dokan.sys (File System Driver)

Right now I'm failing to get the driver in place with the following:

<Directory Id="SystemFolder">
 <Directory Id="DriversDir" Name="drivers">
  <Component Id='DokanDriver32' Guid='{...}'>
   <Condition><![CDATA[NOT Msix64]]></Condition>
   <File Id='dokan_x86.sys' Name='dokan32.sys'
    DiskId='1' Source='$(var.RedistDir)\dokan_x86.sys' KeyPath='yes' />
  </Component>
 </Directory>
</Directory>
<Directory Id="System64Folder">
 <Directory Id="Drivers64Dir" Name="drivers">
  <Component Id='DokanDriver64' Guid='{...}' Win64="yes">
   <Condition><![CDATA[Msix64]]></Condition>
   <File Id='dokan_x64.sys' Name='dokan64.sys' DiskId='1'
    Source='$(var.RedistDir)\dokan_x64.sys' KeyPath='yes' />
  </Component>
 </Directory>
</Directory>

The application is 32 bit only, so I'm trying to place the appropiate
driver version. The problem is that the file gets installed to
\Windows\SysWOW64 in all my attempts. I've tried to use SystemFolder
instead of System64Folder, but the same effect.

As mentioned in the subject, I need the result GetSystemDirectory
because the helper application is using that to get the path to the
driver.

What I'm doing wrong?
Thank you.


More information about the wix-users mailing list