Hello Zsolt,
I've given better thought to this and I've come up with the following:
So basically the mixed package contains two packages, one 32-bit and one 64-bit which are installed based on the OS bitness.
The chances that you have many 32-bit packages installed are really low, I would guess, considering PCs have gone from 32-bit to 64-bit OS long ago.
Moreover we had an internal discussion and it would be pretty important for us that our customers should be able to perform a normal upgrade from an older version of our product (the older 32-bit/64-bit mixed versions) to the new, future version (purely 64-bit) of it, so we would like to avoid having side-by-side versions in Control Panel/Components and Features.
Do you have a suggestion for that one, how should we handle this? I think this requirement might affect the way we should go on.
Now, since you have mentioned that you would like the 64-bit package to upgrade the mixed one, there are two possible cases:
- the 32 bit package on a 32 bit machine --> nothing we can do here as your 64-bit package will not be able to install on a 32-bit machine (only a 32-bit can be installed on a 64-bit, not the other way around)
- the 64-bit package --> here, your new 64-bit package should upgrade just fine considering the previous version is also 64-bit.
That being said, I think we would be pretty safe with one of the approaches you previously mentioned - to remove all 32-bit resources and then simply change the package type to 64-bit from
"Install Parameters" page.
Note: if you decide to change the guids for the components, that would work similarly with the
"Save as Template" (except that one also changes the
UpgradeCode so basically the newer product will be seen by Windows as a
"brand new" one).
I think this would be the best approach, especially because you do not want double entries in the Control Panel and more custom configurations.
Also what would be the benefits using MSI/MSIX technology over the current MSI/EXE technology? Would you recommend to go for MSIX?
I will be honest with you here, I do not recommend MSIX for complex projects such as yours. When time permits, you can give it a try, but I'm not sure MSIX supports many custom things you have in your project.
Regarding MSI, you could try building an MSI if:
- you do not need fancy UI (e.g. only use the themes specified under
"Classic" in the
"Themes" page)
- do not need prerequisites installed before the main package
- do not need the
"Run as administrator" option
One big advantage of MSI is the native integration with tools such as Intune, SCCM, etc..
Hope this helps!
Best regards,
Catalin