我发现通过将KeyPath =“yes”和Assembly =“。net”添加到我的Wix XML文件中的DLL组件,在构建安装程序并运行它之后,它确实安装了DLL我已经将这些属性指定到GAC中。它还会将它们安装到我的本地程序文件夹中。我假设如果将它们安装到GAC,那么就不需要在程序文件夹中安装它们。在两个位置都有DLL是一个问题,如果是,有没有办法阻止他们安装到程序文件夹中?
答案 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"
属性吗?这样做没有任何问题(智能驾驶室甚至可以启动并保持柜子尺寸小)但是理解导致文件安装在两个地方的原因会很好。