Building and deploying dll on windows: SxS, manifests and all that jazz

后端 未结 8 855
野性不改
野性不改 2021-02-04 21:47

Since VS 2005, I see that it is not possible to simply build a dll against MS runtime and deploy them together (http://www.ddj.com/windows/184406482). I am deeply confused by ma

相关标签:
8条回答
  • 2021-02-04 22:46

    Thanks for the answer. For deployment per se, I can see 3 options, then:

    • Using .msi merge directive.
    • Using the redistributable VS package and run it before my own installer
    • Copying the redistributable files along my own application. But in this case, how do I refer to it in a filesystem hierarchy (say bar/foo1/foo1.dll and bar/foo2/foo2.dll refer to msvcr90.dll in bar/) ? I mean besides the obvious and ugly "copy the dll in every directory where you have dll which depends on it).
    0 讨论(0)
  • 2021-02-04 22:46

    You can't use the VC++8 SP1/9 CRT as a merge module on Vista and windows Server 2008 if you have services you want to start or programs that you want to run before the "InstallFinalize" action in the MSI.

    This is because the dlls are installed in WinSXS in the "InstallFinalize" action.

    But the MSI "ServiceStart" action comes before this.

    So use either a bootstrapper "http://www.davidguyer.us/bmg/publish.htm"

    Or look into using the installer chainging in the installer 4.5. But this means you need a bootstrapper to install 4.5 so it seems a bit pointless..

    0 讨论(0)
提交回复
热议问题