Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Problem Installing C++ 2005 Redistributable (x86)


16 replies to this topic

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 14 January 2011 - 14:06

I just startet using InstallShield 2011 Express und have a problem.
In my project i marked "Microsoft Visual C++ SP1 Redistributable Package (x86)" in Section "Redistrubutables".
When executing the Setup there allways comes a Message saying that the installation of the Redistributable "probably did not work" (or so).
Afterwards the redistributable is properly installed and working.
Can someone tell me how i cann suppress this strange message ?

best regards
Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 14 January 2011 - 16:25

I guess you are talking about the 2008 version of the prerequisite (I believe the VS version number should be in the name).

It checks this registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\D20352A90C039D93DBF6126ECE614057

Does it exist after the prerequisite installed?
Is the prerequisite re-offered when you run the setup (or another test setup with the same prerequisite) again?

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 16 January 2011 - 09:45

Hello Stefan,

thanks for your quick answer.

I used 2005 version of the package, exactly "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)".
Sorry i did not type it correctly.

After the setup my software runs perfectly, so the package must have been installed.
The message saying that "Die Installation von Microsoft Visual C++ 2005 Sp1 Redistributable Package (x86) ist anscheinend fehlgeschlagen. Möchten Sie mit der Installation fortfahren?" is definitely wrong.
I cound tell my customers just to ignore this message.
But i think this ist not a good installation experience.
So i just want to switch off this message.

When starting the setup a second time, i am asked to install the package again.
So i think your are right that after the installation of the package the registry key indicating that the package ist installed is missing.

I think that this registry key must be set automatically.
Or do i have to take care of this?

Thanks for your help in advance.

Dietmar Teich


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 17 January 2011 - 11:22

The 2005 SP1 version is checking this registry key:

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\B25099274A207264182F8181ADD555D0

It should get created automatically, but it looks like it doesn't. You need to find out why this key isn't being created, or if it's created elsewhere or some other key is created. (In my registry this key exists)

The instalaltion process is as follows:
InstallShield checks the key.
If it doesn't exist it runs the prerequisite installer.
It checks the key again. If it still doesn't exist it reports that the prereq install failed.

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 18 January 2011 - 13:37

Hello Stefan,

the registry key you mentioned does not exist after running the setup.
So this is definitely the problem.

But what counld be possible reasons for this?
I tested my setup under XP(prof. SP3) and Win7(prof. 32 bit).
The registry key is missing on both machines.
On the Win7 machine i also tried "als Administrator ausführen".
The problem remains.

I dont see a possibility to change something in my setup.
I can just mark the option for installing the C++ redistributable.
There are no details which cound be changed.

Do you have an idea what i can do now?

Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 18 January 2011 - 17:18

Does the key get created if you (manually) run vcredist_x86.exe (from folder
C:\Program Files\InstallShield\2011\SetupPrerequisites\VC 2005 SP1) on a test machine?

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 19 January 2011 - 08:12

Hello Stefan,

after running vcredist_x86.exe from the place you mentioned there is a new key F942F94A19C0F79468FD2B85E5E8677B in the registry.

For my setup i have to use a different version of vcredist_x86.exe.
After running this version there ist a key 3e43b73803c7c394f8a6b2f0402e19c2 in the registry.

Both are different from the key you mentioned (B25099274A207264182F8181ADD555D0).

When i look in my installshield and use "show details" for the c++ redistributable it says that a key B25099274A207264182F8181ADD555D0 is used as a condition.

I am confused.

Is there another way to install vcredist_x86.exe in my setup ?
I mean not to mark this point in the section redistributables.
I tried to copy this file to the new machine as a part of my setup and then start it in the section "cstom actions / after file transfer". But this way i get an error saying that a setup cannot run within a setup.


Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 19 January 2011 - 10:19

You could edit the .prq file (it's a text file) to fix the registry key. But I wonder why the codes don't match (it's the mangled ProductCode of the VC redist).

Can you extract the contents from vcredist_x86.exe using 7zip or a similar tool, then extract the contents from VCREDI~3.EXE to get vcredist.msi. Now open this msi either with InstEd or Orca, or with InstallShield in Direct Edit mode. In the Property table look for ProductCode. It should be:
{7299052b-02a4-4627-81f2-1818da5d550d}

BTW Windows Installer GUIDs should be all upper case, but I'm not sure if this is related to this problem.

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 19 January 2011 - 11:31

Hello Stefan,

i followed your instructions and opened vcredist.msi with insted.

In the version of vcredist_86 which i need to use for my software if found this:
ProductCode {837b34e3-7c30-493c-8f6a-2b0f04e2912c}

In the version i found here (C:\Program Files\InstallShield\2011\SetupPrerequisites\VC 2005 SP1) i found this:
ProductCode {A49F249F-0C91-497F-86DF-B2585E8E76B7}

Dietmar Teich





Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 20 January 2011 - 08:06

Hello Stefan,

i am not sure if i really understand your idea.
You mean i should edit the file "Microsoft Visual C++ 2005 SP1 Redistributable Package (x86).prq" in the folder "SetupPrerequesites/VC 2005 SP1 redist" ?
Just replace the registry key in the field <conditions> ?
Do i have to make more changes in this file ?

Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 20 January 2011 - 18:33

Yes, that's my plan (make a backup copy of the original first).
However that doesn't expolain why your vcredist is different from mine (and the one that InstallShield expects). So maybe you should make sure you have all the latest updates installed, redownload the prerequisite etc. Maybe you will then have the correct vcredist.
Or replace the vcredist in the InstallShield folder.

In the end, the codes must match.

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 21 January 2011 - 09:40

Hello Stefan,

it works !
Thank you very much for your help.
Now my setup works really fine.

There is only one thing which is not perfect.
The C++ redistributable is installed under all versions of windows.
Under windows 7 my software does not need it.
Is it possible to skip it under windows 7 ?

In the properties of the "custom actions" i can open "conditions" and choose the operating systems i want.
But in the "redistributables" there are no conditions.

Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 January 2011 - 18:18

You can specify OS conditions in the .prq, too. I would use the prerequisite editor for this, but I don't think it exists in Express.

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 25 January 2011 - 07:48

I did not find a prerequesite editor in my express version.
So i will have to edit the prq again.

I think this part could be responsible for the operating systems:

<operatingsystemconditions>
<operatingsystemcondition MajorVersion="5" MinorVersion="0" PlatformId="2" CSDVersion=""></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ProductType="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="5" MinorVersion="2" PlatformId="2" CSDVersion="" Bits="1" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="1" ProductType="2|3"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="6" MinorVersion="0" PlatformId="2" CSDVersion="" Bits="1"></operatingsystemcondition>
<operatingsystemcondition MajorVersion="5" MinorVersion="1" PlatformId="2" CSDVersion="" Bits="1" ProductType="1"></operatingsystemcondition>
</operatingsystemconditions>

I looked in the online help but i did not find anything about this.
What changes must i do to skip installation of VC++ redistributable on Win7 machines ?

Dietmar Teich

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 05 February 2011 - 09:18

No Idea ?

Dietmar Teich

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 05 February 2011 - 18:56

I don't think the .prq format is documented. You will need to look at existing prq files to figure out how it works.

Dietmar Teich

Dietmar Teich
  • Full Members
  • 10 posts

Posted 06 February 2011 - 09:29

Thanks for your help.
I will try to find it by trial and error.

Dietmar Teich