2017-08-31 70 views
0

我正在做一個C#項目。在我的解決方案中,我有一個installsheld項目,當我直接從visual studio編譯時工作得很好,我有一個生成的安裝程序,可以安裝。使用MSBuild構建解決方案包括InstallShield ProjecT

我想各種各樣的理由能夠使用MSBuild命令行解決方案進行編譯。儘管出現任何錯誤,但一切正常,但我的設置並不正確。

下面,當我編譯從Visual Studio中的InstallShield項目日誌:

Log InstallShield compile from visual studio

隨着MSBuild的:

Log InstallShield compile from command line using MSBuild

我們注意到步大廈文件表中,從visual studio中我們有組件'RegieCiel.Primary_output'的依賴關係,所以我們很好。由於MSbuild,沒有什麼是添加....

所以會發生的是,在安裝安裝過程中,它缺乏依賴關係。

我首先想到了構建順序,但它會在兩種情況下都起作用?

您認爲如何?

回答

0

我感謝你的回答,實際上我認爲提出並不是解決方案「靜態」會解決問題。

但經過漫長的搜索,我終於找到了!

在我的解決方案中,我有一個名爲「SlowCheetah」的軟件包來管理多個配置文件。通過卸載它,重新啓動MSbuild,我的安裝程序完美工作!

謝謝你的幫助!

+0

感謝您在這裏分享您的解決方案,您可以將其標記爲答案,這樣可以幫助其他社區成員獲得相同的問題。 –

0

我避免像鼠疫這樣的項目輸出參考。我建議有一個Application.sln和一個Installer.sln。讓application.sln(EXE,Web Projects)中的最終項目執行postbuild xcopy或MSBuild發佈配置文件,並創建一個模型化已部署應用程序的目錄。從那裏使用InstallShield中的一個路徑變量將所有這些文件指向靜態鏈接。還要確保關閉所有依賴掃描。你想100%控制什麼,哪些不會進入你的項目。

相關問題