0

我正在使用Visual Studio Installer安裝項目在Visual Studio Community 2015中安裝我的程序。但是,我的程序依賴於SqlLocalDB。我有SqlLocalDB.msi,我想在安裝程序後安裝它。所以,我將它打包在我的安裝程序中,放入我的程序也一樣的文件夾中。然後,在發佈後的事件中,我有如何在後期構建事件中執行獨立.msi

msiexec /a "c:\Program Files(x86)\TowerSearch\SqlLocalDB.msi" 

這是安裝程序安裝到的目錄。但是,當我嘗試構建項目時,這會失敗,並顯示錯誤代碼爲1619的未指定錯誤。我也嘗試了一些其他的變化,但無濟於事。我可能在做一些愚蠢的事情讓它不起作用,但我不知道是什麼。那麼,如果甚至可能的話,你將如何安裝一個單獨的.msi文件?

+0

我也試過這在管理員cmd與目錄,我有.msi,減去報價,並正確執行 –

+0

你真的想要'/ a'而不是'/ i'嗎?這告訴msiexec執行管理安裝,該安裝會提取.msi的文件內容(跳過註冊表等),而不是安裝.msi。 –

+0

如果.msi可以安裝,可以使用/ i安裝,然後我將使用/ i,但是我仍然遇到問題,它會給我構建錯誤 –

回答

1

您可能需要擴展您的目標。

如果您在開發系統上,則Visual Studio構建過程會調用postbuild事件。但是,您不能兩次安裝相同的MSI,因此不清楚您要做什麼。你的開發系統上已經有了這個SQL,所以你不能再安裝它。錯誤1619意味着它無法找到該文件。

如果這是針對客戶端系統(而不是您的開發系統),那麼postbuild事件不適用 - 它們是開發事物,而不是部署方法。您安裝SQL這樣的先決條件的方式是將其安裝在安裝程序的先決條件中,它會生成一個安裝這些先決條件的setup.exe,然後安裝MSI文件。

+0

啊,所以我想要一個先決條件,而不是後期構建。謝謝,那就是我需要的! –

相關問題