2014-01-15 46 views
0

刪除服務我有一個InstallShield 2011項目(A),其安裝服務,並複製該項目中使用另一個項目(B)是安裝一個不同的服務。的InstallShield 2011不是從服務列表

在卸載過程中,它似乎像如果(A)或(B)安裝,服務卸載,並從服務列表中刪除。但是,如果BOTH(A)和(B),則(B)在卸載時未從服務列表中刪除。實際的文件正在被刪除,所以當我右鍵點擊啓動服務時,它說該文件找不到。

我更新了產品代碼和項目的基本信息頁面上升級代碼,並更新在安裝設計中的關鍵名稱 - 高級設置 - 服務 - [我的服務]複製的InstallShield項目時。

是否有任何其他可能影響卸載的共享項目?

回答

1

組件GUID也可以共享。這很可能是你問題的根源。作爲一種做法,您應該永遠不要複製項目並使用它來爲其他類似產品創建安裝項目,這是錯過更新某些GUID的最簡單方法,這些GUID必須是唯一的,並且您的軟件包行爲不正確。

我不知道InstallShield是否有這個選項,其他工具確實有,但推薦的方法是從第一個(A)創建一個項目模板,然後從該模板創建一個新項目,case in哪些IS應該確保你爲包中的所有敏感區域獲得新的唯一GUID。

+0

在保存的InstallShield項目爲模板,從模板創建新項目,產品/升級代碼改變,但是組件代碼保持不變。他們需要在多個項目中保持獨特嗎? – jkh

+0

組件GUID也應該是唯一的。如果您希望在這兩個應用程序之間共享某些文件,併爲組件創建一些GUID,則更好的選擇是構建合併模塊並在兩個項目中添加合併模塊。但是,如果項目被認爲是完全獨立的軟件包,那麼你應該爲組件提供唯一的GUID。 –