Windows 有一个很好的功能可以用来实现非常接近您需要的场景。该功能的名称是“Active Setup”。该功能使用企业网络的许多管理员对已安装的软件进行一些定制,这将根据用户配置文件或 HKCU 的更改来完成。
在引入 Internet Explorer 4(我希望是 IE4)之后,Microsoft 发现有时需要能够运行小型设置,这些设置可以修改 HKCU 设置或修改用户配置文件中的某些文件。所以微软制作了一些 IE4 的组件来做到这一点。后来组件(Active Setup)成为 Windows 操作系统的一部分。
从那时起可以使用以下注册表项来执行此操作
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
和
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]
软件的主要设置在管理上下文中运行,并使用一些值创建 HKLM 密钥。 SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]最重要的是带有名称StubPath和值的 REG_EXPAND_SZVersion值。定义迷你设置的路径,如果用户登录并且他在他的 HKCU部分中StubPath没有,则应该运行该路径。运行迷你设置后,它会将值从 HKLM 复制到 HKCU,因此下次登录时不会启动设置。因此 HKLM 值定义了 mini-setup,HKCU 值用于验证 mini-setup 是否必须运行/重新运行。如果增加HKLM 部分的值,mini-setup 将重新运行一次,并且 HKCU 的值将被更新。SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid] SOFTWARE\Microsoft\Active Setup\Installed Components\[Guid]VersionVersion
所以主软件设置不仅可以创建一些HKCU设置,还可以例如将其导出到reg文件中,它可以使用regedit.exe /s TheRegFile.reg 作为 的值StubPath。
如果可以在这里阅读活动设置的简短描述。