cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
hjsunj
Level 6

How to prevent the Redistributables‘s uninstallation from the uninstalling process?

I've added the Redistributables "VC++8.0 CRT" into my InstallScript MSI project.
Then I installed the product to the target machine!
But after I uninstalled the product, I found that the "VC++8.0 CRT" was also uninstalled.

My question is :
How to prevent the Redistributables "VC++8.0 CRT" from uninstalling?

Thanks!
Labels (1)
0 Kudos
(6) Replies
Scaazy
Level 3

u have to open an MSM file and change all componets to permanent state. Dirty way.
0 Kudos
Scaazy
Level 3

Scaazy wrote:
u have to open an MSM file and change all componets to permanent state. Dirty way.


why do u worry about that ? becase it's a merge module and if someone application had shared this one it would not have been deleted
0 Kudos
hjsunj
Level 6

Thanks,Scaazy!
I don't know how to make MSM file. I'll take a time to study it.
0 Kudos
hjsunj
Level 6

Scaazy:
I finally know what do you mean about "u have to open an MSM file and change all componets to permanent state"

I've modify all the VC MSM file in the directory C:\Program Files\Common Files\Merge Module

Microsoft_VC80_CRT_x86.msm
Microsoft_VC80_CRT_x86_x64.msm
Microsoft_VC80_MFC_x86.msm
Microsoft_VC80_MFC_x86_x64.msm
policy_8_0_Microsoft_VC80_CRT_x86.msm
policy_8_0_Microsoft_VC80_CRT_x86_x64.msm
policy_8_0_Microsoft_VC80_MFC_x86.msm
policy_8_0_Microsoft_VC80_MFC_x86_x64.msm


and change all the components’s Permanent property to Yes

And then I reopen and rebuild the project. But the result depressed me.
After I installed the product, another program depends on VC-runtime works well, But after I uninstalled the product, another program depends on VC-runtime can't work. So the VC80_CRT has been removed on the uninstalling process.

Have I made some mistakes?
Where does the MSM file that listed in InstallShield > Redistributables locate in computer?

Really appreciate!
0 Kudos
hjsunj
Level 6

Help me, please!
0 Kudos
KathyMorey
Level 10

If you are using an InstallScript MSI project, another possible solution would be to launch the vcredist_x86.exe from your script in OnFirstUIBefore instead of including the MFC merge modules. You might have to enclose the LaunchApp call in Disable(LOGGING)/Enable(LOGGING) calls.
0 Kudos