我有一个非常简单的VS2005部署项目,旨在为PC上的所有用户安装。
所有应用程序文件都写入%Program Files%\ MyProg。将在开始菜单和启动文件夹中创建一个快捷方式。没有创建任何注册表设置或其他内容。我已经设定 'InstallAllUsers'为true。
创建的MSI运行正常并安装软件。它在安装它的用户帐户下运行时没有任何问题。
以其他用户身份登录时,会出现开始菜单和启动图标。它会尝试启动应用程序,但会弹出一个安装窗口,并指出“您尝试使用的功能是在不可用的网络资源上”。只有在指向原始MSI文件时,安装程序才会继续。
为什么会这样?我希望我的应用程序在单个用户安装时为所有用户安装完全。
编辑:解决方案
我收到类似的事件日志消息,如this页面所示。在我的情况下,结果就像确保用户的程序菜单的'AlwaysCreate'属性变为false一样简单。如果确实如此,当新用户登录时,Windows会尝试重新创建该文件夹。这在某种程度上需要调用安装程序,从而导致“请插入安装介质”提示。
答案 0 :(得分:0)
如果没有更多信息,实际上很难说。我建议检查已安装文件夹中的权限(查看是否只有安装它的人有权限)并检查目录的文件列表(以确保VS不会自动将某些文件放在用户配置文件中)。让我知道从这两个步骤中得到的结果,如果没有任何解释,我们可以继续挖掘。
答案 1 :(得分:0)
请记住,这很可能不是特定于Visual Studio的,请查看此MS support article,其中相同的消息将返回办公室。
答案 2 :(得分:0)
我知道这是一个老帖子,但我想我会添加另一个原因和解决方案,以防上述情况不适合你。
VS安装和部署项目中存在一个错误,导致注册表值输入HKCU而不是HKLM,无论InstallAllUsers属性设置为true。
您必须使用Orca msi编辑器将“DesktopFolder”和“ProgramMenuFolder”的注册表根目录从1或2更改为-1。该问题无法通过VS解决。