Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Installing 32 & 64 bit drivers with Wix?

I have a Wix project from which I would like to install 32-bit drivers when built with the x86 release configuration and 64-bit drivers when built with x64.

The way I am doing this just now is with two identical projects but one referencing difxapp_x86 and the other referencing difxapp_x64. Can I improve on this?

Also, if I reference difxapp_x86 and build the 64 bit version, then unsurprisingly I get the msi error:

"DIFXAPP: ERROR - You need to use the 64-bit version of DIFXAPP.DLL to install drivers on this machine."

Is it possible to reference these conditionally based on the selected build configuration?

Thanks, Alan

like image 885
Alan Spark Avatar asked Jan 03 '12 14:01

Alan Spark


People also ask

How do I install Office 32-bit?

To install Microsoft Office apps in 32-bit format, go to https://aka.ms/office-install and choose the 32-bit edition. For step-by-step instructions, see Download and install or reinstall Microsoft 365 or Office 2019 on a PC or Mac.

Should I install 32 or 64-bit office?

We recommend the 32-bit version of Office for most users, because it's more compatible with most other applications, especially 3rd-party add-ins. However, consider the 64-bit version, especially if you're working with large blocks of information or graphics.

Should I install 32-bit Windows 10?

Windows 10 64-bit is recommended if you have 4 GB or more RAM. Windows 10 64-bit supports up to 2 TB of RAM, while Windows 10 32-bit can utilize up to 3.2 GB. The memory address space for 64-bit Windows is much larger, which means you need twice as much memory than 32-bit Windows to accomplish some of the same tasks.

What does 32-bit application mean?

It means the application has been compiled for a processor that has 16 bits of memory addressing or 32 bit of memory addressing. Same goes for 64 bit applications. The number refers to the maximum amount of memory that the application can address.


1 Answers

I managed to find a solution to this which involved manually editing the project file.

I changed the following part:

<ItemGroup>
  <WixLibrary Include="difxapp_x86">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_x86.wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>

To the following:

<ItemGroup>
  <WixLibrary Include="difxapp_$(Platform)">
    <HintPath>C:\Program Files\Windows Installer XML v3.5\bin\difxapp_$(Platform).wixlib</HintPath>
    <Name>difxapp_x86</Name>
  </WixLibrary>
</ItemGroup>

Now the path to the reference will be determined by state of the Platform variable. Hope it helps others with the same requirement.

Alan

like image 91
Alan Spark Avatar answered Nov 16 '22 01:11

Alan Spark