Vista, UAC and the ClickOnce Bootstrapper
Image by cocoate.com via FlickrWe
all enjoy being bitten in the ass by that 1 scenario that we never
remembered to test, especially when you’re about to release. My
particular ass biting comes in the form of the ClickOnce
bootstrapper. For those of you who don’t know ClickOnce, the
bootstrapper is the setup.exe that users run in order to install all
your prerequisites and then your application.
It had been working fine, until I remembered to try it on a Vista install with UAC
enabled, which is the default setting. Now, everyone I’ve ever met
disables UAC as soon as Vista is installed, but your average home user
will probably not know it can be turned off and just accept the
insanely irritating thing.
With UAC enabled, the bootstrapper
doesn’t give you a message on launch saying “Hello, we don’t have the
right permissions), no. It gets half way through the installation,
then throws an “Incorrect Function” error, leaving developers pouring
through install logs to try and guess the problem. Needless to say, end
users must not be exposed to this utter lameness.
I’m currently conversing with various MSFT boffins
to see if a resolution can be found, although I’m not hopeful. There’s
a fair bit of ducking and diving going on, which usually indicates
you’ve hit on a shortcoming
If no resolution can be found, the stark truth is that if you need to use the bootstrapper, ClickOnce is entirely incompatible with an out-of-the-box Vista setup.
Edit: I’m wrong. So very wrong. The problem was caused by a corrupt VM. Not ClickOnce.
![Reblog this post [with Zemanta]](archives_files/reblog_e_014.png)
Do you definitely need .Net 3.5sp1?
I’m guessing it might work if your app can work with just .Net 3.0 and not have any prerequisites?
I expect the MS response to be that it will be fixed in Windows 7….
@Colin, 3.5SP1 is the first time that ClickOnce became a viable
option for the B2C market, as it is the first time that a Firefox
plugin was included with the framework.
Without 3.5SP1, users that have Firefox as the default browser are
unable to use the bootstrapper, as Firefox doesn’t know what to do with
the ‘.application’ files. There is the FFClickOnce addin, which works
fine, but it’s not acceptable as a B2C solution for non technical users.
Re your edit:
“Edit: I’m wrong. So very wrong. The problem was caused by a corrupt VM. Not ClickOnce.”
I am seeming to have the same or a similar problem to you. Could you say how you determined that your VM was corrupt?
I had users tell me that the installation was failing on Vista, and then subsequent testing in a VM confirmed this.
Are you saying that you have a clickonce deployment installing .net 3.5 sp1 as a prerequisite onto vista without any problem.
I am getting the “Unable to read registry value” error in the log -
leading to the bootstrapper eventually giving up trying to install .net
3.5 sp1 .
I have tried it now even with UAC turned off, and still getting the same error.
@Business Software Bournemouth – The VM in question was unable to
install any update, not just the updates that the bootstrapper was
trying to install.
I recreated the VM from scratch, ensured it was able to install
updates, then the bootstrapper worked fine. There was definitely an
issue with the VM, and in an ideal world I would have had the time and
motivation to dig deeper and find the *actual* problem with the
existing VM.
Perhaps it was a corrupt registry?? Not sure. But in answer to your
question – yes, I have a 3.5SP1 bootstrapper working on Vista.
(www.homedocumentmanager.com)
One idea – are the builds you’re testing all done on the same machine? If so, try building on a different machine.
Yes, all the builds were done on the same machine.
Thanks… I’ll try that.
Although I am not holding out much hope. When I log into a target
Vista machine as THE administrator the bootstrapper works fine
installing .net 3.5 SP1
This makes me think it is entirely a permissions issue of the target
machine, and I can’t see how building on a different machine is going
to effect that?
I have raised the question here as well:
http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/7e97bf07-4639-4522-b3fd-5456eb94d1eb#
Hi I found this site by mistake when i was searching Google for this issue, I must say your site is really helpful I also love the design, its amazing!. I don’t have the time at the moment to fully read your site but I have bookmarked your site and also add your RSS feeds. I will be back in a day or two. thanks for a great site.