如何在MSI中检测Active Setup

时间:2017-01-25 10:43:03

标签: installation windows-installer

我有一个以SYSTEM用户身份安装的MSI安装包,并向注册表添加了一个活动的安装条目。此设置确保新用户(new =尚未执行此设置直到现在)登录msiexec时添加所有缺少的注册表项。

在MSIEXEC中,我需要使用net来挂载用户主目录。这不能作为系统用户完成,需要在用户上下文中完成。

但是我似乎完全无法检测到设置当前正在用户上下文中运行。这就是为什么我认为在活动设置条目中为StubPath提供额外参数会很好。我试过NETUSE = 1。然而这没有做任何事。安装程序忽略此参数并使用安装期间给出的参数。因此NETUSE保持为0.

任何想法我可以使用哪种条件进行自定义网络使用操作?

2 个答案:

答案 0 :(得分:1)

为什么MSI会挂载用户主目录?我会写一个小实用程序来完成所有这些工作,只需让MSI将它放在Run注册表项中。每台机器安装一次作为系统,然后当用户登录时,调用该实用程序并执行您需要完成的每个用户工作。

如果安装程序合法地需要填充每个用户注册表数据,则可以继续使用活动安装模式。

答案 1 :(得分:0)

您可以尝试使用自己的自定义操作配置为仅在LogonUser属性为tan SYSTEM时运行。