inconsistent wyupdate behavior

I have been using wyUpdate for a while now. In the test environments it always seems to work. In the field the results are imperfect -- sometimes it works, sometimes it fails.

There are several different errors. One is "Error trying to save file: Error downloading '[url/for/wyserver.wys]': Unable to connect to remote server. Yet the URL is valid and the remote server is running.

In another case the update will appear to download and run, but then fail with "Could not find file "D:\Program Files\MyAppName\client.wyc". This is a custom location that the user has chosen to install my software. Could that be the problem?

Some sysadmins claim that the update requires administrative privileges to run. It consists of an msi file that is run from the temporary directory, with privileges set to "Elevated" in the wybuild file, so my understanding is that administrative privileges are not required.

One last question: I run wyUpdate from inside my application, and it always asks the user to kill the application process before it will run. Is there a way to suppress this dialog?

Thanks in advance for any insight you may have.

Some sysadmins claim that the update requires administrative privileges to run. It consists of an msi file that is run from the temporary directory, with privileges set to "Elevated" in the wybuild file, so my understanding is that administrative privileges are not required.

No, wyUpdate will still need to be elevated -- there's no way to magically get around process elevation. That would be a security bug in Windows if we could do that. You're just telling wyUpdate that that file must be run as elevated.

Also,. don't modify wyUpdate so that it won't ask for elevation. You'll just get a failed update.

There are several different errors. One is "Error trying to save file: Error downloading '[url/for/wyserver.wys]': Unable to connect to remote server.

OK, copy & paste the entire URL and paste it into Internet Explorer. My guess is you'll still get an error. Make sure the proxies are all correct and your server is configured correctly.

In another case the update will appear to download and run, but then fail with "Could not find file "D:\Program Files\MyAppName\client.wyc". This is a custom location that the user has chosen to install my software. Could that be the problem?

That's a problem, yes (maybe not the only one). Has the file been modified? Is wyUpdate in the same directory? Does wyUpdate have the correct permissions to at least read the file?

One last question: I run wyUpdate from inside my application, and it always asks the user to kill the application process before it will run. Is there a way to suppress this dialog?

No. Just make sure you launch wyUpdate just before your app closes. The dialog will disappear when your app is closed.

We have had this issue

"Error trying to save file: Error downloading '[url/for/wyserver.wys]': Unable to connect to remote server.

but the usual answer of

OK, copy & paste the entire URL and paste it into Internet Explorer. My guess is you'll still get an error. Make sure the proxies are all correct and your server is configured correctly.

Isn't correct, if you run wyupdate as a user the update succeeds but if its run from a service its sometimes fails. The failure looks to be caused by the location wybuild tried to unpack the update as it may be restricted.

WyUpdate tries to download and unpack the file in Environment.SpecialFolder.ApplicationData\wyUpdate AU\ which is a user related folder, when it would be better to use Environment.SpecialFolder.CommonApplicationData\wyUpdate AU\ which would be located in C:\ProgramData Folder and potentially not bound by the restrictions on the user folder.