Hvordan redistribuerer jeg Visual Studio DLLs for Windows 2003?
Hej,Måske et dumt spørgsmål, men jeg finder at jeg bare ikke kan få det til at virke :-(
Problemet er at jeg har et par programmer der bruger msvcp80.dll og msvcr80.dll. Jeg bruger Visual Studio 2005 C++ og vil gerne installere på en Windows 2003 Server box via WISE for Windows Installer.
I de gode gamle dage (f.eks W2K) skulle jeg blot sørge for at de 2 DLL'er lå i PATH'en, så virkede alting. Nu vil W2003 have et såkaldt manifest installeret.
Jeg har prøvet at bruge følgende manifest:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation -->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<noInheritable/>
<assemblyIdentity
type="win32"
name="vc-redistributables"
version="8.0.50608.0"
processorArchitecture="x86"
/>
<file name="msvcr80.dll"/>
<file name="msvcp80.dll"/>
</assembly>
Dette (denne?) manifest beder jeg så Visual Studio om at embedde i mine executables. Dvs højreklik på de projekter i min Solution der linker mod de 2 DLL'er, vælg "Properties->Manifest Tool->Input and Output->Additional Manifest Files" og skriv "$(SolutionDir)vc-redistributables.manifest".
Når jeg så kompilerer min WISE installations exe og installerer den på min W2003 box virker det bare ikke. Når jeg forsøger at eksekvere et af de installerede programmer får jeg følgende i System event loggen:
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 59
Date: 03-01-2007
Time: 13:30:43
User: N/A
Computer: OMC-W2003-3-9
Description:
Generate Activation Context failed for C:\Program Files\Brutus\MAPIsvc.exe. Reference error message: Two or more components referenced directly or indirectly by the application manifest have files by the same name.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 58
Date: 03-01-2007
Time: 13:30:43
User: N/A
Computer: OMC-W2003-3-9
Description:
Syntax error in manifest or policy file
"C:\WINDOWS\WinSxS\manifests\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_6B128700.manifest" on line 5.
Event Type: Error
Event Source: SideBySide
Event Category: None
Event ID: 23
Date: 03-01-2007
Time: 13:30:43
User: N/A
Computer: OMC-W2003-3-9
Description:
Dll redirector contributor unable to add file map entry for
file msvcr80.dll; Two or more components referenced directly
or indirectly by the application manifest have files by the
same name.
Hvordan får jeg mine programmer til at forstå at jeg har lagt msvcr80.dll og msvcp80.dll i samme directory som de selv ligger I??
På forhånd tusind tak,
jules