繁体   English   中英

带WiX的安装程序(由管理员预先安装并由用户更新)?

[英]Installer with WiX (pre-installed by Admin and Updated by User)?

我们使用WiX创建了一个安装程序。 在注册表中,我们将其保存在HKCU下(参见示例)。 桌面图标和所有内容都为当前用户安装。

<DirectoryRef Id="INSTALLDIR">
   <Component Id="CMP_SaveInstallDir" Guid="52e5e617-2c9a-4514-a6b0-055e4adc6a0b">
   <RegistryValue Id="MyInstallDirId" KeyPath="yes" Action="write" Root="HKCU"    Key="Software\ABC\MyProduct" Name="MyProduct" Value="[INSTALLDIR]" Type="string" />
   </Component>
 </DirectoryRef>

对于升级,我们也使用WiX。 我们尝试找到注册表项,如果可用,我们安装升级。 如果安装完整安装程序的人安装了升级安装程序,则效果很好。

现在,安装程序也应该用于在某些计算机上预安装该软件。 这意味着,管理员用户(“Joe Admin”)安装该软件。 稍后普通用户(“Pete User”,有权安装软件)应该能够安装升级。

但是,由于完全安装是由“ Joe Admin”完成的,因此“ Pete用户”无法使用升级安装程序进行升级,因为在其注册表(“ Pete用户”的HKCU)中找不到注册表项。

我认为这种情况并不罕见,所以我希望有人能帮助我找到解决方案。

提前致谢!

这是一篇可能对您有帮助的文章: http : //setupanddeployment.com/installation-environment/peruser-permachine/

基本上,您正在错误地处理安装位置。 如果您的安装是按机器(针对所有用户)的,则应仅使用按机器的位置。 HKEY_CURRENT_USER是每个用户的位置,因此在每台计算机的安装程序中使用它是一个不好的做法。 因此你的问题。

我认为Cosmin是对的 ,在这种情况下你必须使用每台机器安装。

毕竟,如果Joe Admin安装了应用程序,那么只有该用户才能访问它:桌面图标,程序文件及其设置存储在管理员配置文件中。 因此,Pete User无法访问该应用程序的任何组件。

因此,要么每台计算机进行安装,要么允许用户安装它(不仅仅是升级)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM