删除文件夹混淆

时间:2018-02-22 13:01:08

标签: wix windows-installer directory

使用WiX,我用新版本替换了应用程序 在旧版本中,新版本中不再需要一个目录 所以在安装时,应该这样做:

<Component Id="killDir_" Guid="..." KeyPath="yes">
    <RemoveFolder Id="killDir" On="both" />
</Component> 

到目前为止一切顺利,这很好。

但是如果该文件夹已被删除,则安装程序会再次创建该文件夹!

使用

时也会发生这种情况
<util:RemoveFolderEx .../>

我在<Component>标记中尝试了一个条件:

<Condition>OLD_STUFF_EXISTS</Condition>

以及产品中的DirectorySearch

<Property Id="OLD_STUFF_EXISTS">
    <DirectorySearch Id='DirSearch' Path="OldDir" Depth='0'>
    </DirectorySearch>
</Property>

但这似乎不起作用。

在MSI日志文件中,似乎执行了RemoveFolder:

MSI (s) (A0:4C) [13:44:45:742]: Doing action: RemoveFolders
MSI (s) (A0:4C) [13:44:45:742]: Note: 1: 2205 2:  3: ActionText 
Action 13:44:45: RemoveFolders. Removing folders
Action start 13:44:45: RemoveFolders.
Action ended 13:44:45: RemoveFolders. Return value 1.

有些线路向下,istalled再次创建它:

MSI (s) (A0:4C) [13:44:45:807]: Executing op: FolderCreate(Folder=C:\...\,Foreign=0,,)

有没有办法告诉安装人员不要再创建它?

0 个答案:

没有答案