我试图检测用户在安装程序期间是否选择了“所有用户”或“仅我”广播。我有一个自定义操作设置,它覆盖了多个方法(OnCommit、OnBeforeInstall 等)。现在我正试图在 OnCommit 期间找出这些信息。
我读过我想要获取的属性是 ALLUSERS 属性,但我没有找到它将存储在实例/本地数据中的位置。
有谁知道有办法得到它吗?
-Ben
我要在这里回答我自己的问题。
解决方案是在安装项目的属性 GUI 中查看自定义操作。从那里,选择自定义操作允许我编辑 CustomActionData,在这种情况下我输入:
/AllUsers=[ALLUSERS]
从那里我可以通过自定义操作 CS 代码检测它是否是所有用户安装:
private bool IsAllUsersInstall()
{
// An ALLUSERS property value of 1 specifies the per-machine installation context.
// An ALLUSERS property value of an empty string ("") specifies the per-user installation context.
// In the custom action data, we have mapped the parameter 'AllUsers' to ALLUSERS.
string s = base.Context.Parameters["AllUsers"];
if (s == null)
return true;
else if (s == string.Empty)
return false;
else
return true;
}
希望这对那里的人有帮助:)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)