2013-10-30 178 views
0

我想讓我的Wix Burn安裝程序安裝兩個使用NSIS作爲安裝程序的應用程序。安裝效果很好。但是,我希望在卸載我的應用程序時永久刪除它們(永久=「否」)。這不是那麼簡單,因爲我無法從ExePackage的UninstallCommand屬性中調用另一個exe(創建的uninstall.exe)。有另一種方法嗎?是否有簡單的命令行參數,NSIS安裝程序可以卸載?(Un)在WIX Burn安裝程序中安裝NSIS包

+1

你的問題不是很清楚。我所理解的是安裝程序A安裝B和C(通過靜默執行nsis安裝程序?)。但是當卸載A時,B&C不會被​​卸載,對吧? – foobar

+0

是的。在Wix bundle(A)中,如果我正確引用B和C,當我去卸載A時,它會觸發B和C的卸載。但是,它假定您正在使用MSI(或由MSI構建的EXE)將其安裝程序和卸載程序放在同一個文件中。顯然,NSIS不這樣工作。 – BowlerMonk

回答

0

您將不得不請求這些安裝程序的作者添加支持,NSIS默認不支持它。

我甚至不認爲這有什麼意義的安裝程序來支持它:

  1. 同樣的程序可以在同一臺機器上進行多次安裝(單個用戶和所有用戶?多個版本?)
  2. 如果安裝程序未寫入註冊表,它甚至應該如何找到原始安裝?
+0

我擔心這會成爲乾淨的答案。不過,我認爲可以針對你的兩點提出論點。至少,這正是我想要做的。從用戶的角度來看,如果我安裝的應用程序需要某些prereq,如果我刪除了該應用程序,我不希望prereq之後徘徊。我想不管這是否是一種常見的(或流行的)思想,這就是我們在這種情況下想要的。 – BowlerMonk

0

不是我所說的完美答案,而是功能性答案,所以我想我會分享。保存某人提供更好的選項,我正在創建自定義操作來處理卸載。 NSIS在他們的卸載策略中是一致的(默認情況下,無論如何)。知道這是什麼,我可以計劃。凌亂,當然,但看起來很合理。