我有一个 Visual Studio 安装程序安装项目,它输出一个用于在系统上安装的 .msi 文件。我正在使用带有 .Net 4.0 的 Visual Studio Pro 2013。
该应用程序主要供非管理员 Windows 7 用户使用。但是,由于用户限制,该程序安装在管理员帐户的计算机上,并InstallAllUsers
设置为True
.
部署项目在桌面和程序菜单中添加了一个快捷方式。
安装后,删除安装程序的闪存驱动器,并通过管理员帐户上的快捷方式手动启动应用程序,没有问题。
但是,当使用创建的快捷方式在非管理员帐户上首次启动应用程序时会遇到问题。这是发生以下错误的地方:
找不到产品 MyApp 的安装包。使用安装包“MyApp.msi”的有效副本再次尝试安装。
有趣的是,如果我尝试直接从 Program Files 文件夹启动可执行文件,它工作得很好。我什至可以手动创建快捷方式,这也可以。最后,如果我真的将程序定向到闪存驱动器中的 .msi 文件,问题就会消失。但这是手动密集型的,特别是如果必须在计算机上的多个非管理员帐户上完成。我希望能够在管理员帐户上安装一次程序并忘记。
为什么我会收到此错误?为什么 Windows 在安装应用程序后寻找 .msi 文件?有没有办法通过更改部署项目中的某些属性来避免它?