0

我正在尝试使用.msi. 我想知道如何获取x86框架路径(c:\Windows\Microsoft.NET\Framework\v2.0.50727x64 machinex86 machine

MSI 错误 - regsvr32 自定义操作失败

要获取系统路径使用我们使用[SystemFolder]所以是否有任何属性来获取位置c:\Windows\Microsoft.NET\Framework\v2.0.50727

在此处输入图像描述

相关文章

获取 .NET Framework 目录路径

4

1 回答 1

0

“自我注册”(Regsvr32、Regasm、GACUTIL、InstallUtil 等)在 Windows Installer 中不被视为最佳实践,因为它在进程之外运行,不是声明性的,也不是事务性的。它破坏了 Windows 安装程序对目标机器所做更改的了解,速度较慢,通常很脆弱,并且经常在修复、升级、降级、回滚等场景中中断。

另一种方法是“收获”或“提取”与您的程序集关联的 COM 元数据,并将它们本地创作到您的 MSI 中。您如何执行此操作完全取决于您用于创作 MSI 的工具。InstallShield 有一个名为“.NET Com Visible”的设置,而 WiX 有一个名为“Heat”的功能。一种更原始​​的方法是运行命令 regasm foo.dll /regfile:out.reg,然后通过手动将路径替换为 MSI 目录属性将 regfile 的内容编写到安装程序中。

regasm /regfile 有一个问题,如 MSDN 中的regasm主题所述:

请注意,.reg 文件不包含任何可由用户定义的寄存器函数进行的注册表更新。

于 2013-08-29T11:01:46.043 回答