cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
wiggers
Level 7

MSI with DIMs fails to recognise x64

I have a Basic MSI built with DIM modules and I have specified 'x64' in the Template Summary. When I try to install it on Windows 7 x64 it fails saying the hardware is incompatible. I have successfully built x64 installations before, without DIMs, but this one fails for some reason.

Any ideas?
Labels (1)
0 Kudos
7 Replies
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Consuming a DIM is much like consuming a merge module - it shouldn't be able to fundamentally alter the MSI; it should just add components and so forth to it. Further if that error's the one I'm thinking of, I've only seen it while running a 64-bit MSI on a 32-bit OS. Could you perhaps capture the exact error text, verify the machine's OS is in fact x64, and perhaps verify the template summary and look at a verbose log? That should help figure out the next steps.
0 Kudos
wiggers
Level 7

Here's a screenshot, product name obscured.

0 Kudos
wiggers
Level 7

From the log:

Property(C): Intel = 6
Property(C): Msix64 = 6
Property(C): MsiAMD64 = 6

Property(C): MsiNTProductType = 1
Property(C): ServicePackLevelMinor = 0
Property(C): ServicePackLevel = 1
Property(C): WindowsBuild = 7601
Property(C): VersionNT64 = 601
Property(C): VersionMsi = 5.00
Property(C): VersionDatabase = 200

Anything else that would be useful?
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

Did you specify x64 or X64 as the template summary value? Only the former (lowercase) is valid. Unfortunately our IDE hasn't always enforced this well.
0 Kudos
wiggers
Level 7

Lowercase, x64. But I've just realised I set a condition as well that specified 'Intel64' (what's the difference?) with the error message for a false condition shown before. I must have added that very early on while I was experimenting with various configurations.
0 Kudos
MichaelU
Level 12 Flexeran
Level 12 Flexeran

I was hoping to find a good article to link you to on that, but they're surprisingly difficult to find. For example, Microsoft's documentation of the Template Summary Property helpfully tells you only that you use Intel64 to indicate you run on the Intel64 platform. So here's a simple list as I understand it:

  • Intel—Intel's i386 architecture; 32-bit, and supported almost everywhere Windows runs (however 32-bit systems will not run packages targeting the architectures below)
  • Intel64—Intel's original 64-bit architecture also known as Itanium; no longer supported by recent versions of Windows
  • AMD64—AMD's 64-bit architecture; now a deprecated or obsolete way of specifying it, it is now known as x64
  • x64—AMD's 64-bit architecture, also adopted by Intel, sometimes called em64t, and the most common architecture for 64-bit Windows today
  • Arm—A common architecture for mobile devices; Windows RT runs on this, but you cannot realistically target it today (nor does InstallShield support it today)
0 Kudos
wiggers
Level 7

That's useful, thanks. Seems to be working now!
0 Kudos