cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

Visual Studio 2008 distributable

Hi

I have got a project which uses Visual Studio 2008. Therefore I have included following 3 Objects from default InstallShield 2010 objects.

- Visual C++ 9.0 ATL.Policy (x86) WinSXS MSM (496KB)
- Visual C++ 9.0 CRT.Policy (x86) WinSXS MSM (4.16MB)
- Visual C++ 9.0 MFC.Policy (x86) WinSXS MSM (7.00MB)

It is actually working but the problem is the size. Including these DLLs increase my installer's size about 8MB after compressing.

If I run the exe file which is distributed from Microsoft, it is about 1MB increasement. And it works, but I don't want to run this executable ideally.

http://www.microsoft.com/downloads/details.aspx?familyid=9B2DA534-3E03-4391-8A4D-074B9F2BC1BF&displaylang=en

How could I decrease the size without running the executable?
And what does correspond to the executable file?

My environment is
- InstallShield 2010 with SP1
- Vista 32 bits

If anyone can help me, that would be wonderful.

Thanks,
akiran
Labels (1)
0 Kudos
8 Replies
neotec
Level 3

I downloaded the merge modules from Microsoft. I required the SP1 versions, and the total is only 4mb, which is the same as the redistributable .exe. You can check that those work for you.
I don't know why there would be such a difference is sizes.
Actually the merge modules are in the VS installation, use those instead of the installshield ones.
0 Kudos
Not applicable

I downloaded the merge modules from Microsoft. I required the SP1 versions, and the total is only 4mb, which is the same as the redistributable .exe. You can check that those work for you.
I don't know why there would be such a difference is sizes.
Actually the merge modules are in the VS installation, use those instead of the installshield ones.


Thanks very much for your reply. By the way, where did you download the merge module from? As far as I know, the redistributable.exe is 1.7MB.

What I have tried to do using the merge module way is
******************************************
- Create a new Visual Studio 2008's Setup Project
- add following merge modules from C:\Program Files\Common Files\Merge Modules
* Microsoft_VC90_ATL_x86.msm
* Microsoft_VC90_CRT_x86.msm
* Microsoft_VC90_MFC_x86.msm
- build the solution and then setup.exe file and .msi are created.

- Run the setup.exe with "/quiet" option using LaunchAppAndWait function in the installshield script.
- It worked.
***************************************
Is this what you meant?
This way is actually smaller than using default object in Installshield. (setup.exe:362KB, .msi:4217KB. This is 4MB smaller. Thanks.)

But still about 3MB bigger than running redistributable.exe. And also, it actually installs own "setup.exe" so that the application is listed as another application without Microsoft's digital signatures.

What I want is that
- almost same installer size as including the redistributable.exe (at the moment, 3MB bigger..)
- completely silently installed. (Running redistributable.exe with quiet mode still shows a bit of progress bar.)
- ideally, I want to use installshield default options.

Sorry for being picky..
And again, if you can give me an idea, that would be greatful.

Thanks,
akiran
0 Kudos
neotec
Level 3

Actally I didn't download the merge modules, just got them from the VS installation. I don't think I can suggest anything else. I don't know what you mean by it creating another setup.exe, your just replacing one set of merge modules with another right? As for the size difference, the .exe must be compressed differently, looks like you'll have to live with a couple of megabytes. By the sounds of your new msm sizes, it looks like you are in fact using SP1, so you dont want to use that redist .exe anyway.
0 Kudos
mickgalvin
Level 3

Guess there are two of us in the same boat. The culprit is the MFC msm.

If I add the 9.0.21022.8 MFC merge module (which is 1.5MB in size) to my build I go from a 2.7MB msi to a 4.3 MB msi - seems like good math.

But if I add the more recent 9.0.30729.4148 MFC merge module (which is 4MB in size) to my build I go from a 2.7MB msi to a 9.8MB msi. Crazy.

-mick
0 Kudos
Peter_Kosenko
Level 7

I am trying a different route -- launching the VC++ 9.0.21022.8 redistributable package as a setup prerequisite. Of course, that doesn't EXIST in InstallShield 2008.

You have to create a .PRQ (prerequisite config) file for the "Setup Prerequisites" folder of your IS2008 installation and place the redistributable in a subfolder.

The odd thing is that I found a .PRQ for VC++ 9.0.30729.4148 for another installer.

What is baffling me right now is that the extracted MSI for 9.0.21022.8 is "VC_RED.msi" while the command line is %temp%\vcredist.msi. But if I remember, the 9.0.30729.4148 ran from temp as vcredist.msi. So hopefully by analogy, the 9.0.21022.8 version will also extract as vcredist.msi to TEMP. Or I'll have to uninstall and reinstall to find out the file name.

But checksum and file size are going to be different.

Is there a complete *.PRQ file for VC++ 9.0.21022.8 out there in the world somewhere?













0 Kudos
Peter_Kosenko
Level 7

By the way, you can find the encrypted registry product key fairly easily if you have the VC++ 9.0.21022.8 redistributable already installed. that functions in the .PRQ as a test condition of whether it is already installed.

HKEY_CLASSES_ROOT\Installer\Products\6F9E66FF7E38E3A3FA41D89E8A906A4A
0 Kudos
veekay_a
Level 3

Could you please tell me how to list x64 9.0.30729.4148 version merge module in the install shield?
I could list x86 9.0.30729.4148 version merge module by installing VC++ 2008 security update provided by Microsoft. I doesn't seems to find the same for x64.

Can anyone please help me . I am struggling from long time.

-V
0 Kudos
sharon
Level 5

Hi,

I am also struggling to find answer to veekay_a's question bellow.

Does anyone know if and where these merge modules can be downloaded?

Thanks 🙂
0 Kudos