1

I have a Windows Application that's installed using a Visual Studio Setup project (VS 2010).

The application is intended to be installed for all users. I can install this application fine on a test VM (Windows 7). I'm installing it as a user with admin privs. I'm seeing a UAC prompt and confirming it's OK. I'm also selecting the option to install for Everyone rather than Just Me.

An application shortcut is added to the Startup folder, as it's also meant to run on logon.

The application runs great for the user that installed it with, but when a different user logs on to that vm, I get the following:

MSI Error

It can't load the MSI because I installed it from the user's desktop, and obviously other users on that machine don't have access to that user's desktop.

Why would it be doing this? I have another similar application that I install the exact same way but I've never had it prompt me like this for other users. The only difference I've been able to find is that this application adds an icon to the Startup folder, where as my other working application does not.

I need my application to be fully installed for all users after the MSI installer is run.

RMD
  • 3,421
  • 7
  • 39
  • 85

1 Answers1

0

It appear that something is causing your application to be repaired. The repair is then requiring the original source to be successful and asking for the location where the MSI was installed from.

First thing to do is to use the Event Log to track down what is causing the repair to kick in. You should see something in the Event Log from the Windows Installer that tells you the Component Guid causing the problem. That should help you track down the culprit. Getting a verbose log file will be helpful. Setting MSI logging policy can make that easy.

To address the second issue, you'll need to get the original MSI and navigate to it. That will register another source for the MSI that your user can access. In general, my recommendation is to not run installations from a per-user location. The WiX toolset bootstrapper/chainer, Burn, handles this by caching packages to a per-machine location all users can see.

Rob Mensching
  • 33,834
  • 5
  • 90
  • 130