我想在命令提示符下使用devenv
命令從.vdproj
文件生成MSI文件。該命令運行良好,但沒有生成MSI文件。哪裏不對?在命令行中針對.vdproj運行devenv不會生成MSI
我應該在環境變量中設置什麼,或者有沒有其他方法可以從.vdproj
文件生成MSI?
我想在命令提示符下使用devenv
命令從.vdproj
文件生成MSI文件。該命令運行良好,但沒有生成MSI文件。哪裏不對?在命令行中針對.vdproj運行devenv不會生成MSI
我應該在環境變量中設置什麼,或者有沒有其他方法可以從.vdproj
文件生成MSI?
我不認爲msi會從devenv.com生成,你可以選擇wix來創建安裝程序。
南特有一個任務,msi任務,但它需要micrsoft內閣sdk,它不可用於下載。
閱讀更多細節Build merge module without Devenv from .vdproj
附:如果您發現另一種構建安裝程序的方式,請分享。
這通常是(以我的經驗!)由於沒有針對正確的構建配置而導致的。在Visual Studio中,在解決方案級別,您可以轉至Build
菜單並選擇Configuration Manager
。確保對於所有適用配置(通過Active Solution Configuration
下拉列表選擇),安裝程序項目在Build
列中有一個勾號。
現在,您需要確保在調用devenv的,當你通過適當的構建配置(即一個有Build
打勾的安裝項目)如下:
C:\PathToVisualStudio\devenv.exe /Rebuild Release C:\PathToProject\ProjectName.sln" /Out "PathToProject\vs_errors.txt"
(在這個例子中,Release
是我針對的生成配置)
該命令還記錄的Visual Studio的輸出到同一文件夾作爲您的解決方案稱爲vs_errors.txt
這樣你就可以查看該文本文件,以確定是否有任何其他原因安裝項目無法構建。
上面的腳本爲我工作,嘗試它,讓我知道它是否適合你。你幾乎可以有任何配置。我已經使用了Release | x86。只需用您的配置替換該行,它應該工作。確保您使用的任何配置存在於.sln文件或.csproj文件中,否則您可能會收到關於無效配置的一些錯誤。希望這可以幫助。
<target name="BuildMsi">
<echo message="Creating installables (.msi) for MyTestApplication, please wait..."/>
<exec program="c:\program files\Microsoft Visual Studio 9.0\Common7\IDE\devenv.exe">
<arg value="c:\My app\My_Test_solution.sln"/>
<arg value="/build"/>
<arg value="Release|x86" />
<arg value="/project"/>
<arg value="c:\My app\setup\My_Test_solution.vdproj"/>
</exec>
</target>
我的情況是一樣的,並與/項目給予項目名稱與.msi文件生成的幫助下,
devenv /build Release /project SDK-Deployment SDK-Deployment.vdproj