gpt4 book ai didi

.net - 使用 InstallShield 将程序集注册到 GAC

转载 作者:行者123 更新时间:2023-12-04 06:49:43 26 4
gpt4 key购买 nike

我必须使用 InstallSheild 向 GAC 注册多个程序集,而且我还需要将程序集复制到 INSTALLDIR 上。最好的方法是什么?我还需要调用 regasm.exe 进行程序集;我可以使用 InstallShield 执行此操作吗?

对于必须在 GAC 中注册的每个程序集,我真的需要一个新的“组件”吗?

最佳答案

此答案假定您使用的是 Windows Installer 项目类型。

1)为每个DLL文件创建一个组件,将其作为keyfile并将目标文件夹设置为GlobalAssemblyCache。这指示 Windows Installer 使用 MsiPublishAssemblies 标准操作,该操作反过来调用 Fusion 以在 GAC 中注册程序集。这实际上是 GACUTIL 为您所做的。请记住:GACUTIL 不可再分发。如果程序集有伴随文件,请将它们作为伴随文件添加到同一组件中。

2) 如果您的程序集是 ComVisible,则为每个 DLL 创建一个组件,将其标记为 key 文件并将 .NET ComInterop 设置为 true。这将导致在构建时提取 COM 信息,并告诉 Windows Installer 使用 MsiPublishAssemblies 标准操作将信息写入注册表。注意:如果您在程序集的注册部分有自定义用户代码,则不会被捕获。这是根据 MSDN regasm /regfile不执行此代码路径。您必须手动将此信息输入到该组件的 InstallShield 注册 TableView 中。

3) 是的,您可以全局和/或私有(private)地部署强名称程序集。是否会看到私有(private)的取决于具有引用的程序集是否设置了 UseSpecific 。

关于.net - 使用 InstallShield 将程序集注册到 GAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524798/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com