Wix安装程序将DLL放入GAC和程序文件夹中

时间:2013-05-03 15:38:57

标签: .net dll wix gac

我发现通过将KeyPath =“yes”和Assembly =“。net”添加到我的Wix XML文件中的DLL组件,在构建安装程序并运行它之后,它确实安装了DLL我已经将这些属性指定到GAC中。它还会将它们安装到我的本地程序文件夹中。我假设如果将它们安装到GAC,那么就不需要在程序文件夹中安装它们。在两个位置都有DLL是一个问题,如果是,有没有办法阻止他们安装到程序文件夹中?

1 个答案:

答案 0 :(得分:4)

我无法重现你所看到的。如果我创建一个只有一个Component的MSI,它看起来像:

<Component Directory="SomeFolderUnderProgramFiles">
   <File Source="path\to\my\strongnamedsigned.dll" Assembly=".net" KeyPath="yes" />
</Component> 

然后我只获得GAC中的"strongnamedsigned.dll"。我的目录树(根目录在ProgramFilesFolder)根本没有创建。

你的.wxs文件中的文件的另一个副本可能没有Assembly=".net"属性吗?这样做没有任何问题(智能驾驶室甚至可以启动并保持柜子尺寸小)但是理解导致文件安装在两个地方的原因会很好。