I am trying to create 1 SINGLE setup.exe file to install a PC sofwtare. Problem is: this sofwtares uses a signed driver : 1 32bits version and 1 64 bits version.
After 3 days of searching, I got a clue from the driver developper:
I guess that your installer is 32-bit, and you are trying to install the driver on 64-bit system. See the FAQ question:
Q: Unable to programmatically install the driver from 32-bit process on Vista\7 x64. The driver is always saved to windows\SysWOW64\drivers instead of windows\system32\drivers and can't start.
A: This is a feature of 64-bit Windows called "virtualization". It is applied to 32-bit applications. Windows redirects file system and registry calls to different locations, used as an alternate view of the standard folders and registry keys: http://msdn.microsoft.com/en-us/library/aa384249%28VS.85%29.aspx
The following ways can be used to install the driver properly on x64:
- Call API function Wow64DisableWow64FsRedirection from 32-bit installer before saving the driver to windows\system32\drivers: http://msdn.microsoft.com/en-us/library/aa365743(VS.85).aspx It is possible to do this using System plug-in in NSIS, and using direct API call in other installers.
There is an InnoSetup function that can help to avoid issues on x64: http://www.jrsoftware.org/ishelp/index.php?topic=isxfunc_enablefsredirection
Anyone can help me with that ?