Visual Studio安装项目在每个用户登录时请求MSI

时间:2013-04-18 19:29:25

标签: visual-studio-2010 windows-installer visual-studio-setup-proje

我有一个使用Visual Studio安装项目(VS 2010)安装的Windows应用程序。

该应用程序旨在为所有用户安装。我可以在测试VM(Windows 7)上安装此应用程序。我正在以具有admin privs的用户身份安装它。我看到UAC提示并确认它没问题。我也选择为Everyone而不是Just Me安装选项。

应用程序快捷方式添加到Startup文件夹中,因为它也意味着在登录时运行。

该应用程序对于安装它的用户运行良好,但是当其他用户登录到该vm时,我得到以下内容:

MSI Error

它无法加载MSI,因为我是从用户桌面安装的,显然该机器上的其他用户无法访问该用户的桌面。

为什么要这样做?我有另一个类似的应用程序,我安装完全相同的方式,但我从来没有让它像其他用户这样提示我。我能找到的唯一区别是这个应用程序在Startup文件夹中添加了一个图标,而我的其他工作应用程序则没有。

我需要在运行MSI安装程序后为所有用户完全安装我的应用程序。

1 个答案:

答案 0 :(得分:0)

似乎某些东西导致您的应用程序被修复。然后修复需要原始源成功并询问安装MSI的位置。

要做的第一件事是使用事件日志来追踪导致修复的原因。您应该在Windows安装程序的事件日志中看到一些内容,它告诉您导致问题的组件导航。这应该可以帮助你找到罪魁祸首。获取详细的日志文件会很有帮助。设置MSI logging policy可以轻松实现。

要解决第二个问题,您需要获取原始MSI并导航到它。这将为您的用户可以访问的MSI注册另一个源。通常,我的建议是不要从每个用户的位置运行安装。 WiX工具集bootstrapper / chainer,Burn通过将包缓存到所有用户都能看到的每个机器位置来处理这个问题。