微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何通过 GPO、系统会话部署安装到本地应用数据的 MSI?

如何解决如何通过 GPO、系统会话部署安装到本地应用数据的 MSI?

我需要将我的应用安装到活动控制台会话的本地应用数据中,甚至安装到所有机器的用户中。
但是当通过 GPO 部署时,系统会话是运行 MSI 的会话。
那么我如何通过 WiX 工具集创建实现该目的的 MSI?

我尝试使用本指南:https://docs.microsoft.com/en-us/windows/win32/msi/msiinstallperuser
所以我在 wxs 文件中设置了这些属性

<Property Id='ALLUSERS' Value='2' />
<Property Id='MSIINSTALLPERUSER' Value='1' />

目录结构为:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="LocalAppDataFolder">
        <Directory Id="APPLICATIONFOLDER" Name="MyApp">

然后,我使用 psexec 通过系统会话运行 msi,但正如日志所说:

PROPERTY CHANGE: Adding APPLICATIONFOLDER property. Its value is 'C:\WINDOWS\SysWOW64\config\systemprofile\AppData\Local\MyApp\'.

并尝试安装到认的本地应用数据

我尝试了其他几种方法,例如通过 c# 自定义操作更改 APPLICATIONFOLDER,或通过 c# 自定义操作修改数据库,但我仍然没有找到可行的解决方案。

任何帮助将不胜感激

解决方法

你对 MSI 的做法是正确的。但是,您使用 psexec 来“安装”(而不是 GPO),并且如您所说,“通过系统会话”,因此您获得了系统帐户的本地应用程序数据目录。

您需要在 GPO 中将您的 MSI 分配(或可能发布,但您描述的是分配)您的 MSI。然后将根据需要安装 MSI。如果您在 GPO 中分配给计算机,则 MSI 应设置为“每台机器”,在这种情况下,ProgramFiles 将是更好的目录(在这种情况下,ALLUSERS 应为“1”)。

Use Group Policy to remotely install software

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。