Wix#Empty Directories示例不起作用?

时间:2015-12-04 14:23:01

标签: wix wixsharp

我尝试做的是使用wix#installer创建一个空文件夹。

我找到了#34;空目录"示例(" src / WixSharp.Samples / Wix #Samples / Empty Directories "),其中说:

  

使用原始Wix时,您不能拥有空目录。一切   目录必须具有组件(例如文件)或特殊元素   CreateFolder。

     

Wix#没有这样的限制,因为它只是创造了所有必要的   Wix源代码中的语法修饰(注入CreateFolder元素)   检测到空目录声明时自动生成文件。

但是当我构建并运行样本时,我没有得到任何"样本"或" Docs"文件夹(样本中的空文件夹)。

日志文件包含以下内容:

Action 16:25:24: RemoveFiles. Removing files
Action start 16:25:24: RemoveFiles.
RemoveFiles: File: Removing files, Directory: 
MSI (s) (7C:F4) [16:25:24:926]: Counted 2 foreign folders to be removed.
MSI (s) (7C:F4) [16:25:24:926]: Removing foreign folder: C:\Program Files (x86)\My Company\My Product\Docs\Manual\
MSI (s) (7C:F4) [16:25:24:926]: Removing foreign folder: C:\Program Files (x86)\My Company\My Product\Samples\
Action ended 16:25:24: RemoveFiles. Return value 1.

"外国"手段?我做错了什么?

使用WiX Toolset v3.10.1

1 个答案:

答案 0 :(得分:0)

你没有做错任何事,问题出现在WixSharp中,并已在1.0.32.1版本中得到修复。

对于长篇答案,你可以look at the issue on the WixSharp CodePlex page,但短篇小说将是(解释WixSharp作者Oleg):

  

MSI并没有真正'支持安装空文件夹。解决方法是使用CreateFolder元素插入空组件。但是,要在卸载时删除文件夹,我们还需要将RemoveFolder元素插入到空组件中。我们还需要考虑空文件夹的父文件夹,并将其递归地应用于所有文件夹。目前,这些变通方法没有任何不良影响。

     

Wix#正在添加这些变通方法,最终它们开始相互冲突,从而产生了#34; EmptyDirectories"样本和功能被破坏。