Merge modules Microsoft do not rollback

Got a problem you cannot solve? Try here.
fosnl
Posts: 17
Joined: Wed May 03, 2006 8:16 am
Location: The Netherlands
Contact:

Merge modules Microsoft do not rollback

Postby fosnl » Tue Jul 10, 2007 12:31 pm

We just failed our Vista Logog tests on this:
Test case 23:
When an error occurres in the setup it should rollback to the orginal state.

We included in our InstallAware 6.6 project these two Microsoft Merge modules:
Microsoft_VC80_CRT_x86 and Microsoft_VC80_MFC_x86
After a rollback these files stayed behind:

C:\\Windows\\winsxs\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f5
5f9bffb8f8\\msvcm80.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f5
5f9bffb8f8\\msvcp80.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.762_none_10b2f5
5f9bffb8f8\\msvcr80.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.762_none_0c178a
139ee2a7ed\\mfc80.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.762_none_0c178a
139ee2a7ed\\mfc80u.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.762_none_0c178a
139ee2a7ed\\mfcm80.dll

C:\\Windows\\winsxs\\x86_microsoft.vc80.mfc_1fc8b3b9a1e18e3b_8.0.50727.762_none_0c178a
139ee2a7ed\\mfcm80u.dll

How can we make sure these files are removed when the setup does a rollback?

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Tue Jul 10, 2007 3:02 pm

Please contact Microsoft directly for help with their merge modules.
Michael Nesmith
InstallAware
Home of The Next Generation MSI Installer
Get your free copy today - http://www.installaware.com/

fosnl
Posts: 17
Joined: Wed May 03, 2006 8:16 am
Location: The Netherlands
Contact:

Thats not the answer i wanted

Postby fosnl » Wed Jul 11, 2007 4:35 am

That answer is a bit to easy...
I'm already talking with Microsoft about this.
Their anwer is to not use the merge module, but install their files myself
What I just want to know what other possibilities I have. For example by removing the files by myself on a rollback...
I can imagine that I can do someting like

Code: Select all

...
    Apply Install (get result into variable SUCCESS)
    if Variable SUCCESS Equals ERROR
        Comment: here remove my files...
    else
      if Variable SUCCESS not Equals CANCEL
         ...


What is the best way for doing this or are there other solutions you can think of...

MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Postby MichaelNesmith » Wed Jul 11, 2007 5:22 am

Well, you cannot expect us to fix Microsoft's bugs for you :D Although admittedly it does make our answer easy...

While you're on the right track with your solution, you might have a hard time getting that past Veritest's limited testing schemes (unless they look at the full setup you are building - which sometimes they don't - they will not even see that you are removing the files during your rollback).

You can take that route and request an exception down the road, OR you can just go ahead and not use the MSMs. Frankly, I'd recommend using proper MSMs or not using them at all.
Michael Nesmith

InstallAware

Home of The Next Generation MSI Installer

Get your free copy today - http://www.installaware.com/

Edhy
Posts: 138
Joined: Sun Jul 31, 2005 4:09 pm
Location: New York, USA

Re: Thats not the answer i wanted

Postby Edhy » Wed Jul 11, 2007 10:25 am

fosnl wrote:That answer is a bit to easy...
I'm already talking with Microsoft about this.
Their anwer is to not use the merge module, but install their files myself
What I just want to know what other possibilities I have. For example by removing the files by myself on a rollback...
I can imagine that I can do someting like

Code: Select all

...
    Apply Install (get result into variable SUCCESS)
    if Variable SUCCESS Equals ERROR
        Comment: here remove my files...
    else
      if Variable SUCCESS not Equals CANCEL
         ...


What is the best way for doing this or are there other solutions you can think of...


Hi fosn,

I think you could try this:
Use the MSI/MSM Import Wizard (if available in your version of IA) and this will create an IA script from the MSM file, then you can either use that script or just copy and paste the instructions to install/register the files in your original script, this way, the files will be removed by the uninstall/rollback process.

I have not tried above solution, it is just an idea, maybe Michael or somebody else from IA can comment on this.

Good luck!
Edhy Rijo
Thom Child and Family Services

fosnl
Posts: 17
Joined: Wed May 03, 2006 8:16 am
Location: The Netherlands
Contact:

Postby fosnl » Fri Jul 13, 2007 8:48 am

I like the idea of re-engineering the msm file by importing it into InstallAware. Sadly our edition does not have that option

We solved our Vista Logo problem now in a more simple way: don't install it at all!
We found out that the files we need are already on Vista. The only bad point of this solution is that our setup no longer works with Windows 2000 and XP...

Is there a way to include a msm file in my installaware project, but only install it depending on some value of a variable? If I include the msm file in the projet I don't see it in the scripts...

MLS
Posts: 56
Joined: Fri Jan 26, 2007 4:57 am

Postby MLS » Sat Jul 14, 2007 7:19 am

You should be able to with the check os. But I have found that these sometimes work on a If it's equal or greater instead of is it equal.

it's just off the top of my head. you could always make a support dll if needed to return the os version if the internal command dosn't work

All you need to do then if you get the information is find the prerequiste in the preguiste section in the msi code and add the extra if statement to check the os

fosnl
Posts: 17
Joined: Wed May 03, 2006 8:16 am
Location: The Netherlands
Contact:

Postby fosnl » Mon Jul 16, 2007 3:17 am

Checking the OS is the least of my problem...
Problem is that if you add a merge module in the InstallAware project, it doesn't apear in the script itself, so there is no way to conrtol if it is installed or not...; it is allways installed


Return to “Technical Support”

Who is online

Users browsing this forum: Google [Bot] and 92 guests