Hi RedSon;
> Visual Studio has a "publish" feature you can look into.
From what I've seen of it, this seems like a web apps tool for installing a
completed web app to a web server - which is not quite what I am after here.
I've yet to see anything relating to a windows console app, but I'll keep looking
after I've posted this.
I would think that there would be a simpler way.
I thought I had found it a while ago, but I have a bit of a problem ...
> Otherwise what kind of packaging scheme are you looking to use?
> RPM, DEB, you can use nullsoft install suite.
What I am after is an exe that is "self-contained", where the dll's are extracted
at runtime and made available to the app.
So far, I've found ILMerge.
http://research.microsoft.com/en-us/...t/ilmerge.aspx
I've tried to use it, but I've ran into a bit of a problem.
Running this from a batch file,
================================================== =
@set exefile="F:\Program Files\Microsoft\ILMerge\ILMerge.exe"
@set dmsvcr90="F:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll"
%exefile% /target:winexe /out:test.exe test01.exe %dmsvcr90%
================================================== =
I get the following error message:
================================================== =
An exception occurred during merging:
ILMerge.Merge: Could not load assembly from the location
'F:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86
\Microsoft.VC90.CRT\msvcr90.dll'.
Skipping and processing rest of arguments.
at ILMerging.ILMerge.Merge()
at ILMerging.ILMerge.Main(String[] args)
================================================== =
I've used Windows Explorer to navigate to that folder, and I can see that
the file is indeed there.
The executable was compiled with the following command line parameters
in a build operation with Visual Studio 2008:
================================================== =
/GL /D "WIN32" /D "NDEBUG" /D "_UNICODE" /D "UNICODE" /FD /EHa /MD
/Fo"Release\\" /Fd"Release\vc90.pdb" /W3 /nologo /c /Zi /clr:safe
/TP /errorReport:prompt
/FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Sys tem.dll"
/FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Sys tem.Data.dll"
/FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Sys tem.XML.dll"
/FU "c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\msc orlib.dll"
================================================== =
Linking with the following:
================================================== =
/OUT:"N:\Projects\testing\Release\test01.exe"
/INCREMENTAL:NO /NOLOGO /MANIFEST
/MANIFESTFILE:"Release\test01.exe.intermediate.mani fest"
/MANIFESTUAC:"level='asInvoker' uiAccess='false'" /LTCG /DYNAMICBASE
/FIXED:No /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT
================================================== =
I tried to add the dll as a reference in project > properties, but it came
back with the following error message:
================================================== =
Could not add a reference to the file
'F:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT\msvcr90.dll'
bacause it is neither a .NET assembly or registered ActiveX control.
================================================== =
GRRRRRR!!!
Why could ILMerge not load the assembly?
Could it be because it is "neither a .NET assembly [n]or registered ActiveX control."?
Any ideas?
Thanks for the response!!!