GAC是一个没有将其嵌入MSI的程序集

时间:2010-06-21 14:20:07

标签: installer wix windows-installer installation

我想GAC已经存在于目标机器上的程序集,我知道这个程序集在每台机器上的位置(你可以假设,该路径对所有目标机器都是静态的,不会改变,而且我是这个程序集的所有者)我不希望将程序集包含在MSI中作为GAC,因为它可以随每个解决方案部署而改变,并且我们不希望每次都修改我们的设置。我尝试将<File>标记与Assembly =“。net”

一起使用
<File 
    Id="Assembly.dll"
    Name="Assembly.dll"
    Assembly=".net" 
    Source="Assembly.dll"
    KeyPath="yes" >
 </File>

但是使用File将我的程序集嵌入MSI中。关于如何告诉MSI只在特定位置查找装配而不包括它的任何想法?

2 个答案:

答案 0 :(得分:0)

Windows Installer不支持。目前还不清楚为什么你想把别人的文件放到GAC中(如果是你的文件,为什么不把它放在GAC中开始?)。 :)

答案 1 :(得分:0)

看起来像一个奇怪的请求,但这样做的方法是将一个脚本/批处理文件写入GAC文件。在没有MSI的情况下自行测试。工作之后,将脚本包含在MSI中,然后将脚本作为自定义操作执行以在安装时执行。您还希望在卸载时将其从GAC中删除。

如果您使用的是Visual Studio安装项目,请右键单击该项目,然后选择“视图” - >“自定义操作”。从那里,它将允许您为相应的事件添加操作(安装,卸载等)。