代码之家  ›  专栏  ›  技术社区  ›  Alex

VS2005安装项目-程序在其他用户首次启动时请求安装媒体

  •  2
  • Alex  · 技术社区  · 14 年前

    我有一个非常简单的VS2005部署项目,旨在为PC上的所有用户安装。

    所有应用程序文件都写入%Program Files%\MyProg。在“开始”菜单和“启动”文件夹中创建快捷方式。没有创建注册表设置或其他任何设置。我已经定好了 “InstallAllUsers”为true。

    创建的MSI运行良好并安装软件。它在安装它的用户帐户下运行时没有任何问题。

    当以其他用户身份登录时,出现“开始”菜单和“启动”图标。它尝试启动应用程序,但是会弹出一个安装窗口,并声明“您尝试使用的功能位于不可用的网络资源上”。只有指向原始的msi文件,安装程序才会继续。

    为什么会这样?我想安装我的应用程序 完全地 当由单个用户安装时,所有用户都可以使用。

    编辑:解决方案

    我收到了类似的事件日志消息,如 this 页。在我的例子中,结果是很简单,确保用户的程序菜单的“alwaysCreate”属性变为false。如果为真,Windows将在新用户登录时尝试重新创建文件夹。这需要调用安装程序,从而导致“请插入安装介质”提示。

    3 回复  |  直到 12 年前
        1
  •  0
  •   Christopher B. Adkins    14 年前

    实际上,没有更多的信息是很难说的。我建议检查已安装文件夹中的权限(查看是否只有安装该文件夹的人有权限),并检查目录的文件列表(以确保vs不会自动将某些文件放入用户配置文件)。让我知道这两个步骤的结果,我们可以试着继续挖掘,如果这并没有给它任何启发。

        2
  •  0
  •   JohnIdol    14 年前

    请记住,这可能是最不特定于Visual Studio的定义,请看这个MS support article 在这里,同样的信息将回到办公室。

        3
  •  0
  •   mpedev    12 年前

    我知道这是一个旧的帖子,但我想我会添加另一个原因和解决方案,以防上面的内容对你不起作用。

    在vs安装和部署项目中有一个错误,导致注册表值被输入到hkcu而不是hklm中,而不管installAllUsers属性设置为true。

    必须使用orca msi编辑器将“desktopfolder”和“programmenufolder”的注册表根从1或2更改为-1。该问题无法通过VS解决。

    http://www.qa.downappz.com/questions/vs-2010-deploys-per-user-features-during-install-which-require-access-to-install-media.html