Visual Studio安装项目 - 使用Windows标准用户帐户安装当前用户

时间:2011-07-18 23:59:35

标签: visual-studio-2010 setup-project dotnetinstaller

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

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

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

  • 在此计算机上卸载还会留下由安装程序创建的注册表项。我尝试过的桌面上没有出现这种情况。

有一点需要注意(但不应该真正影响这种情况)是我使用dotNetInstaller来引导我的应用程序需要运行的一些先决条件(Sql Compact DB 3.5),然后引导程序自己调用Visual Studio 2010安装程序可执行文件(我的应用程序)。

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

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

1 个答案:

答案 0 :(得分:1)

  

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

你做不到。标准用户的每用户安装需要在没有提升的情况下运行。这意味着它只能使用每个用户的位置,如Application Data文件夹和HKEY_CURRENT_USER配置单元。如果您提升每用户安装,则会对您提升的帐户执行此操作。

  

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

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