1

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

该应用程序旨在为所有用户安装。我可以在测试虚拟机(Windows 7)上很好地安装这个应用程序。我以具有管理员权限的用户身份安装它。我看到 UAC 提示并确认没问题。我还选择了为所有人安装而不是为我安装的选项。

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

该应用程序对于安装它的用户来说运行良好,但是当另一个用户登录到该 vm 时,我得到以下信息:

微星错误

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

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

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

4

1 回答 1

0

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

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

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

于 2013-04-18T21:33:53.687 回答