11/11/2009 4850 views
We've recently updated most of our packaging PCs to Windows 7 x64 so that we could utilise more memory for our VMs. We've come across an issue though where we want to create a response transform, but the MSI is configured to not run on x64 systems. Therefore it fails without creating a response transform. What do the other packagers here do in these situations? Do you just have multiple copies of your packaging software (InstallShield in this case) installed on different OSs, or is there a way to fool the application into thinking it's running on a different OS?

One of our packagers also found that if he created a response transform on his Win 7 x64 box that it would not run on Windows XP x32. Is that normal, or did something just go wrong with that MST?
0 Comments   [ + ] Show comments


Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

All Answers

I currently have a collection of VMs running on an XP32 host, although the ultimate intention is to have a W764 host running the same VMs and some new 64-bit ones.

The VMs in question comprise 2 XP32 packaging "boxes" (one to build packages, one to dry-run those packages), 2 XP32 test boxes with the client's build (2 tests, so that I can test packages concurrently) and a selection of similar boxes in various states of what I call "undress", i.e. with additional software or different versions, or with software removed. That's the beauty of VMs, of course: the number of scenarios for which you can cater is limited only by disk space and RAM.
Answered 11/12/2009 by: VBScab
Red Belt

Maybe this could help...with an additional transform for 64 bit version.....

Answered 11/12/2009 by: PackageExpert
Blue Belt

Thanks for your response VBScab. So you run your packaging software within a VM. That may be what we have to do as well (if only for creating Response Transforms). Hopefully someone on the Flexera (InstallShield) forums has another suggestion as I don't really want to have the overhead of another VM just to run InstallShield.

I've since tested this further and it looks like a Response Transform can run 'up' the OS versions .. ie created on Windows XP will run on Windows 7, but created on Windows 7 (x86 or x64) won't run on Windows XP. I've also tested installing Windows Installer 4.5 on the Windows XP box, but that doesn't help.

I'll post back if I get a solution from Flexera.
Answered 11/16/2009 by: brettski
Purple Belt

TBH, I don't know how anyone does this job without VM Ware/Virtual PC/VirtualBox. How did we manage before?!? Oh yes, I remember...multiple instances of Windows, ROBOCOPY'd system files, or Ghost [shudder]
Answered 11/17/2009 by: VBScab
Red Belt

OK, I discovered that taking the Response Transform, opening it in Orca and generating a new MST seemed to fix the problem. A Flexera InstallShield Engineer responded with ..

"Ahah, I didn't know this myself, but apparently until IS2010 the response transform took a schema value from the version of MSI on which it was running. Thus Windows Installer on XP would refuse to apply the transform that claims to require MSI 5 (from Windows 7). Applying and regenerating this transform with Orca seems to adjust the schema value, so is a fine workaround. It has also been fixed in IS2010 to use the schema version of the underlying MSI."
Answered 11/18/2009 by: brettski
Purple Belt


Often times your transforms doesn't need to contain much different data than the MSI. In this case, you can analyse the difference in Orca, and strip out any unnecessary data, and generate a new transforms file.

Answered 06/08/2012 by: kin327
Senior Yellow Belt