Topics Topics Help/Instructions Help Edit Profile Profile Member List Register  
Search Last 1 | 3 | 7 Days Search Search Tree View Tree View  
Randem Systems Support Board * Inno Setup - General Questions * MSVC (Visual Studio 2005/2008 redistributables) < Previous Next >

Author Message
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 11
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 24, 2009 - 09:46 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Well, installing the redistributables is certainly an option. It just seems like the old 'driving in a nail w/ a sledgehammer' solution that Microsoft is more than willing to cram down your throat.

Your research and effort on this is most appreciated. I think that for now, my preference is to manually create a folder w/ the pertinent redistributables and have Inno-Setup install them in the same folder as my COM object. This has been proven to work on two pristine PCs w/ XP and Vista OS'
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1339
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Wednesday, July 22, 2009 - 11:23 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

After researching this this is your best option http://www.microsoft.com/downloads/details.aspx?familyid=32BC1BEE-A3F9-4C13-9C99-220B62A191EE&displaylang=en
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1338
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Wednesday, July 22, 2009 - 11:14 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Something else for thought http://msdn.microsoft.com/en-us/library/ms235316.aspx
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1337
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Wednesday, July 22, 2009 - 11:12 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

I have looked at the manifest and they they basically say not much. Try running your project thru InnoScript to see what it has to say about the dlls that you should re-distribute. Let me know what you find.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 10
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, July 20, 2009 - 12:31 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

application/octet-streamManifest file output by regsvr42
TCUCommProvider.sxs.manifest (1.0 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 9
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, July 20, 2009 - 12:30 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

text/plainTrace output from regsvr42.exe
trace-output.txt (4.5 k)
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1334
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Thursday, July 16, 2009 - 11:10 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Here is something

http://www.codeproject.com/KB/COM/regsvr42.aspx?msg=3123415#xx3123415xx

Run a trace on your application exe to see which modules it wants to use. Post the trace file.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 8
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 01:34 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Application/xmlVCPROJ file for COM object and test utilities
TcuCommProvider.vcproj (9.3 k)


The COM provider is the program code that requires the Redistributables
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1331
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 01:33 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Post your VC project file, let me take a look at it.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 7
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 01:23 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

So the problem is: how can I be sure I am getting the proper version (which may not be the "latest" version)??
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 6
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 01:22 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Yes, but so many choices, which one does it need

C:\WINDOWS\WinSxS>dir x86_Microsoft.VC80.CRT_*
Volume in drive C has no label.
Volume Serial Number is 3C8A-05E5

Directory of C:\WINDOWS\WinSxS

05/22/2009 12:28 PM <dir> x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.1433_x-ww_5cf844d2
10/27/2007 01:06 AM <dir> x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.163_x-ww_681e29fb
10/27/2007 12:47 AM <dir> x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.42_x-ww_0de06acd
07/14/2008 01:11 PM <dir> x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8
.0.50727.762_x-ww_6b128700
0 File(s) 0 bytes
4 Dir(s) 8,962,428,928 bytes free

C:\WINDOWS\WinSxS>
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1330
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 12:00 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Ok, those files are in your \Windows\WinSxS\ folder under a folder with a name much like \x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50608.0_x-ww_b80fa8ca
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 5
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 11:35 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

application/octet-streamSample manifest file
TCUCommProvider.dll.intermediate.manifest (0.4 k)


Sample file attached
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1329
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 10:56 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

No it does not help. What I need to see is the Manifest file itself. Does it look like this:

<?xml>
<assembly>
<trustinfo>
<security>
<requestedprivileges>
<requestedexecutionlevel>
</requestedprivileges>
</security>

</trustinfo>
<dependency>
<dependentassembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8'
processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
</dependentassembly>
</dependency>
<dependency>
<dependentassembly>
<assemblyIdentity type='win32' name='Microsoft.VC90.MFC' version='9.0.21022.8'
processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />

</dependentassembly>
</dependency>
<dependency>
<dependentassembly>
<assemblyIdentity type='win32' name='Microsoft.Windows.Common-Controls'
version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df'
language="'*'" />
</dependentassembly>
</dependency>
</assembly>

Please post your manifest file.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 4
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Tuesday, July 14, 2009 - 09:17 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

The manifest file is a by-product of the link step performed by Visual Studio. It's an XML file.

This info may help
http://msdn.microsoft.com/en-us/library/ms235542(VS.80).aspx
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1327
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, July 13, 2009 - 04:10 pm:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

Alright, Who creates this manifest file and what is the name of this file or any manifest file that is created for this process. I would like to look into this further. If you could supply some info on this I would appreciate it.

(Message edited by randem on July 13, 2009)
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 3
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Monday, July 13, 2009 - 08:48 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

I am going to research this last idea. The manifest file is NOT installed on the target computer. What I would really like would be for InnoSetup to process the manifest file and auto-magically grab the right redistributables from the source computer's Windows\WinSxS folder. I think that is what InstallShield does, but I have not confirmed this.
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1320
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 10, 2009 - 11:05 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

From what I read about the manifest if you want your application to ignore the Winsxs folder entirely you just need to modify the manifest that you include in your deployment (remove publicKeyToken='1fc8b3b9a1e18e3b'), install those dll's in the application folder and add the dll names to the manifest.
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1319
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 10, 2009 - 10:53 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

There are so many MCVCPxx.dll files on my computer it would be a nightmare attempting to wade thru which one to use. However when you are developing the app you should know which one you are using.

Try this Run your app thru InnoScript to see which ones it picks up. Perhaps it will give you a clue on which ones to redist.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 2
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 10, 2009 - 10:40 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

This article seems to suggest that the version of the redistributable is contingent on the version that was used when my user program was compiled
http://www.itwriting.com/blog/?postid=261

This quote from the article is particularly alarming:
However, it still wasn't clear to me why I was getting the error, especially since the compiler had generated a manifest for me. I ran vcredist_x86.exe to no avail.
Top of pagePrevious messageNext messageBottom of page Link to this message

randem
Moderator
Username: randem

Post Number: 1318
Registered: 04-2004

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 10, 2009 - 10:13 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

To use the proper redistributable files you should use the download from the MS site. That is the only real way to insure that you get the proper files you need. Other installers may take the files out of the redist exe and put them in their installer but that is not proper and may lead to problems down the road due to the redist files being updated. If they are you can always just swap out the old file for the new one. However with the installer you are stuck with the old ones. Just include the exe in the [Run] section and be done with it.
Top of pagePrevious messageNext messageBottom of page Link to this message

caaclipper
New member
Username: caaclipper

Post Number: 1
Registered: 07-2009

Rating: N/A
Votes: 0 (Vote!)

Posted on Friday, July 10, 2009 - 09:40 am:   Edit Post Delete Post View Post/Check IP    Move Post (Moderator/Admin Only)

I want my Inno Setup script to install the C++ DLLs that are needed for my project. These include the MSVCRxx.dll, MSVCPxx.dll, and gdiplus.dll. The files are in C:\Windows\WinSxS but there is a "ringer".
There are several candidates for two former pieces (MSVC* files) - seems that when I updated my version of Windows new directories and new copies of these files were auto-magically created too. For example, I have this as the source for one of the DLLs:
c:\windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.1433_x-w
w_5cf844d2\MSVCP80.DLL
not to be confused with
c:\windows\winsxs\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_
0de06acdww\MSVCP80.DLL (or about 2 other "flavors" with different directory names).

I read something (the info was convoluted) about how the manifest file (output by the Visual Studio Linker) contains info for the redistributables (see http://blog.kalmbachnet.de/?postid=80).

I looked at my manifest file. In my case, I see this line:
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT'
version='8.0.50608.0' processorArchitecture='x86'
publicKeyToken='1fc8b3b9a1e18e3b' />

Obviously, some of the info is present, but there is clearly a 'disconnect'
somewhere.

Simple question: How can I create my Inno Setup script to include the proper redistributables. And no, I do not want to be forced to download and run the .EXE from this website:
http://www.microsoft.com/downloads/details.aspx?FamilyId=32BC1BEE-A3F9-4C13-
9C99-220B62A191EE&displaylang=en

We both know that is a Mickey Mouse solution.

So, please, clue me in? I used to use InstallShield and it does this for me "auto-magically". I've got to believe that there is something engineered in InnoSetup.

So please, lead me down the right path.
I really appreciate the help and direction Thanks CAA

Add Your Message Here
Post:
Bold text Italics Underline Create a hyperlink Insert a clipart image

Username: Posting Information:
This is a public posting area. Enter your username and password if you have an account. Otherwise, enter your full name as your username and leave the password blank. Your e-mail address is optional.
Password:
E-mail:
Options: Enable HTML code in message
Automatically activate URLs in message
Action:

Topics | Last Day | Last Week | Tree View | Search | Help/Instructions | Program Credits Administration