2016-10-26 29 views
-2

因此,我對VS和編碼相當陌生,最近我在C++控制檯應用程序項目中做了一個小型的蛇遊戲,雖然工作正常,但我會喜歡讓它在沒有VS的另一臺PC上工作。最接近我發現回答我的問題是這些其他StackOverflow問題herehere。我已經安裝了vs安裝程序項目擴展,試圖使其成爲一個安裝項目,幷包括所需的依賴關係,但我無法解決如何做到這一點。有沒有人有任何信息指導我通過這個問題的最後一步,或者我完全在錯誤的軌道上?visual studio 2015. C++控制檯應用程序在安裝項目中轉換爲所有dll

+0

[部署原生桌面應用程序(Visual C++)](https://msdn.microsoft.com/library/zebw5zk9.aspx)。 – IInspectable

回答

0

如果應用程序使用動態運行時(這是默認設置),它將使用VS DLL文件。爲了提供它們,該特定VS版本的Visual Studio Runtime Redistributable需要安裝在目標機器上(如第二個鏈接中所述)。

這意味着您需要以這種方式設置安裝程序。我沒有使用它,但可能有一些選項可以使得生成的安裝程序可以包含或下載並自動安裝VS可再發行組件。

參見這裏:How to install redistributable with visual studio setup?(但它是VS 2013,有可能是在2015年的一些變化)

+0

除非應用程序與Windows組件[通用CRT](https://msdn.microsoft.com/en-us/library/abx4dbyh.aspx)鏈接。 – IInspectable

+0

現在看看這個,看看它是否有助於我弄清楚如何設置安裝程序。謝謝 –

0

嘛,你不告訴我們,什麼樣的項目你的C++控制檯應用程序是...

僅使用C++,你的應用程序可以使用不同版本的CRT,如建如:

  • V120(VS-2013)
  • V120_XP(VS-2013 W/XP支持)
  • V140(VS-2015)
  • V140_XP(VS-2015 W/XP支持)

即使在VS 2015年,你可以選擇你想要的CRT的版本,並且使用的是舊版本,如果需要。

無論如何,目標計算機將需要正確的CRT版本的DLL。
微軟provides them。您可以將它們與您的產品一起發貨,如果您有自定義安裝程序,或者使用Microsoft提供的安裝程序。

MSDN - Determining Which DLLs to Redistribute

例如,使用V120:

  • msvcp120.dll
  • msvcr120.dll

你的項目還可以使用.NET。
在這種情況下,您還需要在主機中安裝正確的版本。

+0

在C++應用程序中沒有CLR。 – IInspectable

+0

@IInspectable除非使用.NET,但你是對的,我的意思是CRT ... – Macmade

+0

對不起,我說我對此很新。當我開始項目時,我選擇了win32控制檯應用程序。我不知道我可以選擇不同的CRT版本。我使用的依賴沃克告訴我它的MSVCP140D.dll,VCRUNTIME140D.dll,UCRTBASED.dll和KERNAL32.dll。我承認我正在努力使安裝文件或安裝程序能夠將其作爲用戶友好的安裝在目標PC上。 –

相關問題