Classification: Public
Hi Ivo,

I am not really sure on your overall question...

However, you cannot create 1 MSI for both 32 and 64 Bit OS's there must be 1 
MSI for each bitness (32/64).
So this paragraph is not possible:
" One solution I tried is to create a transform that converts one MSI into the 
other. However it looks like a transform can't modify the Package.Platform 
setting. If my main MSI is 64-bit, it won't even start on 32-bit Windows. If I 
make the 32-bit MSI the main, even after the transformation it still can't 
access the 64-bit OS folders like Program Files or System32. Another smaller 
problem is that since MSTs can't contain resources, I have to put all my files 
into the main MSI. This gives me warnings that I have files with the same 
target name. It is fine though, because I have mutually-exclusive conditions 
for each of the components."

I am not sure about the cabs...

Steve

-----Original Message-----
From: Ivo Beltchev [mailto:i...@ibeltchev.com]
Sent: June-23-13 3:13 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Multi-platform installer with WiX

Hi.

 

I need an installer that can work for both 32-bit and 64-bit OS. Currently I 
build 2 separate MSIs and bundle them together in a bootstrapper EXE. The 
problem is that 90% of the files are common between the two platforms and my 
installer is almost double of what it can be.

 

One solution I tried is to create a transform that converts one MSI into the 
other. However it looks like a transform can't modify the Package.Platform 
setting. If my main MSI is 64-bit, it won't even start on 32-bit Windows. If I 
make the 32-bit MSI the main, even after the transformation it still can't 
access the 64-bit OS folders like Program Files or System32. Another smaller 
problem is that since MSTs can't contain resources, I have to put all my files 
into the main MSI. This gives me warnings that I have files with the same 
target name. It is fine though, because I have mutually-exclusive conditions 
for each of the components.

 

Another solution I'm looking at is to create 2 MSI files with a shared CAB.
I can't find any instructions how to create such CAB though. If the 32-bit and 
the 64-bit MSIs produce their own CABs, how do I combine them into one file 
that has no duplicate resources?

 

Also ideally my bootstrapper should be able to extract one of the MSIs and the 
CAB and then merge the two on the user's machine. This way the user will get a 
single file to deal with. Is this possible? I've seen some scripts that can do 
the merging, but I'm not sure if they require the Windows SDK to be installed. 
Also I'd rather do this in C++ because my bootstrapper is in
C++.

 

So, to recap:

What is the recommended way to create one installer that supports both 
platforms?

How do I create a shared CAB that contains files from multiple MSIs?

How do I merge the MSI and the CAB on the user machine?

 

Regards

Ivo

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



This message has been marked as Public by Steven Ogilvie on June-23-13 3:40:04 
PM.

The above classification labels were added to the message by TITUS Message 
Classification. 
For more information visit www.titus.com.

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to