1

我在使用标准用户帐户登录的运行 Windows 7 Starter 的上网本上测试了我的安装程序,发现了一些我以前没有遇到过的问题。

由于用户以标准用户身份运行,因此系统会提示他们输入管理员帐户详细信息。这很好,并允许安装程序启动。现在,当用户选择是否要为当前用户/所有用户安装软件并选择当前用户时,会发生以下情况:

  • 快捷方式(桌面和应用程序菜单)不是为标准用户创建的,而是为管理员帐户创建的。我退出了标准用户帐户并以管理员帐户身份登录,并且快捷方式正确显示。这不是我所期望的。

  • 在这台机器上卸载也会留下一个由安装程序创建的注册表项。在我尝试过的桌面上没有发生这种行为。

需要注意的一件事(但不应该真正影响这种情况)是我使用dotNetInstaller在引导程序本身调用 Visual Studio 2010 安装程序可执行文件(我的应用程序)之前引导我的应用程序需要运行的一些先决条件(Sql Compact DB 3.5) .

如果标准用户已登录并且他们尝试安装我的产品,输入管理员凭据并选择当前用户安装,我如何让它安装标准用户帐户而不是管理员帐户的快捷方式?

另外,当用户在这台电脑上删除程序(通过添加/删除程序)时,为什么作为安装项目的一部分创建的注册表项不会自行删除?这台上网本上的 Windows 安装是否以某种方式损坏?

4

1 回答 1

1

如果标准用户已登录并且他们尝试安装我的产品,输入管理员凭据并选择当前用户安装,我如何让它安装标准用户帐户而不是管理员帐户的快捷方式?

你不能。标准用户的每用户安装需要在没有提升的情况下运行。这意味着它只能使用每个用户的位置,例如应用程序数据文件夹和 HKEY_CURRENT_USER 配置单元。如果您提升每用户安装,它将针对您提升的帐户执行。

另外,当用户在这台电脑上删除程序(通过添加/删除程序)时,为什么作为安装项目的一部分创建的注册表项不会自行删除?

这个注册表项到底在哪里?如果它位于 HKEY_CURRENT_USER 中,则卸载过程可能无权访问它(例如,它是为另一个用户帐户安装的)。您是否尝试创建卸载日志以查看会发生什么?

于 2011-07-19T07:42:53.100 回答