如果我 运行 使用 systemcontext,为什么这个安装程序不安装 HKCR 注册表?
Why doesn't this installer install HKCR registries if I run it with systemcontext?
我正在尝试在系统上下文中安装应用程序 (Renishaw WiREMemFileViewer),但它不会将其注册表安装到 HKCR,而是将它们安装到 HKU - 默认。
在系统上下文中,它甚至不会出现在“程序和功能”中,但它的注册表项就在它的位置上,它与安装程序通过简单(管理员)安装创建的注册表项相同。
可能是什么问题?
这是一个 MSI 安装程序,在注册表中 table 我看不到这些注册表项,但如果我为所有自定义操作提供 0 条件,它仍然不会安装他们到 HKCR.
不太清楚你有没有试过在msiexec命令行设置ALLUSERS=1?如果你还没有试过的话。
ALLUSERS=1 将安装上下文设置为所有用户("per-machine" 而不是 "per-user")。这会影响安装程序将某些注册表项写入的配置单元(HKCU 或 HKLM)。
应用程序本身也可能在启动时将数据写入 HKCU。您可以检查那里的设置,并通过将文件关联密钥写入 HKCR,将文件关联密钥作为每台机器的数据手动添加到您的 MSI。
只是几个链接:
- MSDN, information about the ALLUSERS property
- Uninstall with Product Code Fails "Installation Source Not Available"
- install file under every user profile
我正在尝试在系统上下文中安装应用程序 (Renishaw WiREMemFileViewer),但它不会将其注册表安装到 HKCR,而是将它们安装到 HKU - 默认。
在系统上下文中,它甚至不会出现在“程序和功能”中,但它的注册表项就在它的位置上,它与安装程序通过简单(管理员)安装创建的注册表项相同。
可能是什么问题?
这是一个 MSI 安装程序,在注册表中 table 我看不到这些注册表项,但如果我为所有自定义操作提供 0 条件,它仍然不会安装他们到 HKCR.
不太清楚你有没有试过在msiexec命令行设置ALLUSERS=1?如果你还没有试过的话。
ALLUSERS=1 将安装上下文设置为所有用户("per-machine" 而不是 "per-user")。这会影响安装程序将某些注册表项写入的配置单元(HKCU 或 HKLM)。
应用程序本身也可能在启动时将数据写入 HKCU。您可以检查那里的设置,并通过将文件关联密钥写入 HKCR,将文件关联密钥作为每台机器的数据手动添加到您的 MSI。
只是几个链接:
- MSDN, information about the ALLUSERS property
- Uninstall with Product Code Fails "Installation Source Not Available"
- install file under every user profile