2010-07-23 35 views
2

這似乎是一個相當簡單的問題首歌,但我一直無法找到答案:維克斯 - 保持安裝的應用程序

比方說,我有兩個產品:A和B MyCompany的創建。這兩種產品A和B將在開始菜單快捷方式以這種方式:

MyCompanyFolder-> Product_A_Folder-> A.exe時和MyCompanyFolder-> Product_B_Folder-> B.EXE

如果我卸載 「產品B」我不希望它刪除「MyCompanyFolder」,除非它是最後一個產品。我只需檢查「產品A」是否存在(通過組件或註冊表搜索),但我目前無法知道此文件夾中將添加多少將來的應用程序。

我想出的唯一解決方案是創建一個註冊表項,該註冊表項只包含一個表示應用程序安裝數的整數 - 但這似乎有點不雅(更不用說我不知道​​如何增加註冊表值Wix)。

有什麼想法? 謝謝。

回答

3

您必須在安裝過程中做一些不尋常的事情,因爲這應該都是自動工作的。您不需要爲開始菜單目錄提供任何組件或創建文件夾元素。只需創建一個如下所示的參考文件,並在您的安裝中使用ShortCut元素中的ApplicationProgramsFolder Id,MSI將自動處理最後一次關閉文件夾的情況。

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="ProgramMenuFolder"> 
    <Directory Id="CompanyProgramsFolder" Name="ISWIX, LLC"> 
    <Directory Id="ApplicationProgramsFolder" Name="IsWiX" /> 
    </Directory> 
</Directory> 
</Directory> 
+0

是的我剛剛意識到這是默認行爲。我沒有找到任何指定這個的地方。謝謝! – Chris 2010-07-23 16:16:55