[Setup] ArchitecturesInstallIn64BitMode = x64This means that under 64-bit processor architecture 64-bit mode will be used. You can specify Itanium architecture (ArchitecturesInstallIn64BitMode=ia64) if necessary.
Now imagine you need to use one file for 32-bit mode and another file for 64-bit mode. You can do it in the following way:
[Files] Source: "OurProgram\Release\shellextension.dll"; DestDir: "{app}"; Flags: regserver ignoreversion; Check: not Is64BitInstallMode; Source: "OurProgram\x64\Release\shellextension.dll"; DestDir: "{app}"; Flags: regserver ignoreversion; Check: Is64BitInstallMode;In the script above we specified to use 32-bit version of shell extension dll in 32-bit mode and 64-bit version of shell extension in 64-bit mode. Other files can be the same for 32-bit and 64-bit modes or different.
Also you can create completely different installers for different architectures. For example, to create installer specially for 64-bit architecture you need to specify:
[Setup] ArchitecturesAllowed = x64Other possible values are x86 or ia64. You can specify several values separated by spaces.
Hi there,
ReplyDeleteWe are having a lot of trouble getting our shell extension to show up after install on x64 bit Windows OSes. (We use Inno Setup.) It's a context menu.
For 32-bit, it updated the shell right away. Maybe you have insight? Will this solve the problem? Thanks!
It's for an open-source project.
Hi Simon,
ReplyDeleteShell extension is not easy. Did you make sure you compiled two separate versions for 32-bit and 64-bit Windows and included them into installer?
What language are you using for shell extension itself?