2011-09-06 75 views
0

我已經爲它開發了一個Win32控制檯應用程序DLL和一個小測試應用程序。據我所知,既不使用MFC,.COM,.NET也不使用其他任何東西。開發平臺是在WinXP/SP3上的VS2009如何打包一個VC++ Win32控制檯應用程序和DLL

當我將DLL和EXE提供給其他人時,它們是不可用的。嘗試使用它們會產生類似於「應用程序無法使用,應用程序配置錯誤」的錯誤。和「無法找到xxx.dll」(這些錯誤消息不是精確的措詞)。

我從閱讀中瞭解到,存在必須與EXE和DLL一起提供的依賴關係。這些依賴關係似乎是特定於VS 2009 ABD應該包括MSVCRT09等

當我遵循MS的指令爲安裝和部署項目(http://msdn.microsoft.com/en-us/downloads/default.mspx)創建setup.exe/MSI安裝程序時。 com/en-us/library/ms235317%28v = VS.90%29.aspx)我將dll添加到項目中,將其移至「MyLibrary」文件夾,並且在解決方案資源管理器中未找到或列出任何依賴項。然而,我知道有依賴關係,DEPENDS.EXE這樣說。

任何人都可以通過此步驟或通過指示命名更好的網站。再一次,MS的幫助並不是那麼有用。

感謝,

韋斯

回答

1

的Visual Studio 2008是9.0版本。正如您發現的那樣,使用Visual C++ 2008構建的程序通常會對C運行時庫MSVCRT09產生依賴關係。如果目標PC上沒有安裝C運行時庫(已安裝或作爲安裝項目的一部分),那麼您的應用程序將失敗,正如您發現的那樣。 DEPENDS.EXE顯示依賴關係並不奇怪。唯一的問題似乎是Visual Studio 2008在其解決方案資源管理器窗口中不顯示依賴關係的原因。

在構建Visual Studio安裝項目(MSI和安裝文件)之前,Visual Studio可能沒有任何理由搜索依賴項。但是在建立安裝項目之後,根據我的經驗,解決方案資源管理器確實顯示了它所找到的依賴關係,與您明確設置的其他依賴關係相鄰。如果這些建築後不出現,有些奇怪。

相關問題