Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Languages / Managed C++ / September 2007

Tip: Looking for answers? Try searching our database.

vc redistributable - best practices

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
vcquestions - 05 Sep 2007 07:33 GMT
Hi.

I have a C++/CLI app with dependencies on ATL/CRT ( no MFC ).

1.  If I install vcredist_x86 ( SDK\v2.0 ), everything on the clean
target machine works fine.

Problem: redistributable executable is too big ( as I don't need MFC &
other bloat ).

2.  When I install .msm files on the target machine ( from Common Files
\Merge Modules )  specifically:

Microsoft_VC80_ATL_x86.msm
Microsoft_VC80_CRT_x86.msm
policy_8_0_Microsoft_VC80_ATL_x86.msm
policy_8_0_Microsoft_VC80_CRT_x86.msm

using msiexec.exe /i, I see all the .dll(s)/manifests under
winsxs( msvcm80.dll, msvcp80.dll, msvcr80.dll, atl80.dll ) but my dll
is not loaded ( config is incorrect.  Reinstalling can fix it ).

3.  When I manually copy crt-related dll(s ) and atl80.dll &
corresponding manifests ( from Microsoft Visual Studio 8\VC\redist
\x86 ) to my working directory ( on a clean machine ) - everything
works.

#3 is good for me as I can compress files and copy them easily.  Is
this OK to do? ( is it a good/recommended practice )

#2 seems to be acceptable as well, but:
a ) I can't get it to work.  Any ideas on what might be going wrong?
b ) I see Microsot links to redist*.exe packages, but I don't see any
downloadable .msm files. Just curious if this way is supported/
encouraged/maintained by MSFT.

Any other suggestions/ideas are appreaciated.

Thanks in advance!

vcq
Jochen Kalmbach [MVP] - 05 Sep 2007 07:54 GMT
Hi vcquestions!

> 2.  When I install .msm files on the target machine ( from Common Files
> \Merge Modules )  specifically:
[quoted text clipped - 7 lines]
> winsxs( msvcm80.dll, msvcp80.dll, msvcr80.dll, atl80.dll ) but my dll
> is not loaded ( config is incorrect.  Reinstalling can fix it ).

Maybe your msm-files are RTM and your EXE is using the SP1 version?
Be sure to also use the SP1 version of the MSM files!

Also you can always put the MS-DLLs into the same dir as your app. Also
be sure to include the "manifest"-files for these DLLs!

Greetings
  Jochen
vcquestions - 05 Sep 2007 15:46 GMT
Thanks Jochen!  *.msm files are dated 12/2/2006 while vcredist_x86 &
single files in vc\redist\x86\ directory are dated 12/1/2006.  I'd
expect them to be the same version.  I guess the next step would be to
tinker with fusion log & filemon and see why my assembly is not loaded
( when .msm(s) are installed ).

On Sep 4, 11:54 pm, "Jochen Kalmbach [MVP]" <nospam-
Jochen.Kalmb...@holzma.de> wrote:
> Hi vcquestions!
>
[quoted text clipped - 18 lines]
> Greetings
>    Jochen
Jochen Kalmbach [MVP] - 05 Sep 2007 18:04 GMT
vcquestions schrieb:

> tinker with fusion log & filemon and see why my assembly is not loaded
> ( when .msm(s) are installed ).

Look into EventLog, to see the detailed error message...

Signature

Greetings
  Jochen

   My blog about Win32 and .NET
   http://blog.kalmbachnet.de/


Rate this thread:







Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.