Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > ClickOnce, Windows 7 and the Program Compatibility Assistant
 

ClickOnce, Windows 7 and the Program Compatibility Assistant

I've just installed our ClickOnce application on Windows 7 RTM. At the end of the bootstrapper's run, before the "actual" application installs, the "Program Compatibility Assistant" pops up to tell me that something might have gone wrong. Obviously, as a standard .Net ClickOnce App, everything went right.

So, the obvious question: This version was built on 2008 Server, will this problem go away if built on Win7? Is there any other way of making this go away?

We sell our ClickOnce app to Joe Public, so we can't have a window popping up saying "it might have gone horribly wrong" - if we're lucky, we'd get hundreds of support emails, but most people would simply uninstall.

Cheers,

Tim
TimHaughton  Tuesday, September 01, 2009 4:46 PM

Hello Tim,

Thanks for your post on MSDN forum.

I performed a test on my side, but I cannot reproduce this problem on my side with Visual Studio 2008 SP1.

Did you publish the ClickOnce with Visual Studio 2005? Since the Program Compatibility Assistant relies on the User Account Control (UAC) feature in Windows Vista and Windows Server 2008 to know whether a program is a setup program andUAC includes detection for setup programs and will make sure the detected setup programs will be run as Administrator, which includes getting administrative credentials or confirmation from the user before launching the program, you setup.exe might not have an embedded manifestthat specifies a requested execution level for your setup executable.I suggest that you check the setup.exe of the ClickOnce application to see if thereis an embedded manifest.

More information
http://blogs.msdn.com/astebner/archive/2007/05/17/2705372.aspx

Thanks,
Rong-Chun Zhang
MSDN Subscriber Support in Forum
If you have any feedback on our support, please contact msdnmg@microsoft.com


Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Wednesday, September 02, 2009 6:42 AM
Hi there, thanks for the response. This is the manifest embedded in the bootstrapper:

<?xml version="1.0" encoding="utf-8" ?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Setup"
type="win32"
/>
<description>Installer</description>
<dependency>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" type="win32"/>
</dependentAssembly>
</dependency>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>

Now, this is a standard, unmodified ClickOnce bootstrapper as generated by VS2008 SP1 on Windows Server 2008. It installs the latest Windows Installer and the .Net Framework 3.5SP1, then calls the .application file.

If this manifest is not correct, why is it not correct? And what can I do to put it right?

If you want to try the live bootstrapper, it's at http://www.homedocumentmanager.com/deploy/setup.exe

Many thanks,

Tim
TimHaughton  Wednesday, September 02, 2009 7:21 AM

What kind of an application is it? Is it WinForms or WPF or VSTO?

I'm asking because I think I saw this issue when installing my VSTO application, but my WinForms applications worked fine.

RobinDotNet


Click here to visit my ClickOnce blog!
RobinDotNet  Wednesday, September 02, 2009 7:44 AM
It's a WPF app.

Cheers,

Tim
TimHaughton  Wednesday, September 02, 2009 8:07 AM
Hello Tim,

I tried with a standard WPF application(created from the template and unmodified), publish to a web site, and then installed it, I didn't get any error from Program Compatibility Assistan.

Could you please show us the detailed steps that you publish the ClickOnce application?

Thanks
Rong-Chun Zhang
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Wednesday, September 02, 2009 8:45 AM
I'm not sure what to tell you. I go to the Application page, go to the publish tab, click "Publish Now". This publishes the application to a folder on my desktop, I then use WinSCP to copy this to our web server.

The only thing I can think of that might be different is that it's an MSIT build of Win 7 (I'm a consultant at MSR Cambridge in the UK, although this isn't for a MS project, otherwise I would have got support internally) but it's RTM, I'm pretty sure that all that differs is the bundled apps - unless there's some funky group policy set up on the MS CorpNet.

When you installed, did you run the bootstrapper?

If it helps, I can do a Live Meeting to show you the steps.

Cheers,

Tim
TimHaughton  Wednesday, September 02, 2009 9:04 AM
Hello Tim,

ClickOnce application can be published using FTP protocol(Vsiaul Studio supports this), however it cannot be installed with the FTP protocol. We can install ClickOnce applications from any HTTP 1.1 Web server or file server(file://).

More info
http://msdn.microsoft.com/en-us/library/142dbbz4.aspx
http://msdn.microsoft.com/en-us/library/31kztyey.aspx

Thanks,
Rong-Chun Zhang
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Wednesday, September 02, 2009 11:33 AM
Hi, I think I'm confusing you.

Deployment isn't my issue. I deploy it to my desktop, then copy it to a test server to verify the build, if all is well, we deploy it to our production web server. We use SFTP for transfer as the production server is external and FTP is insecure by design.

My problem, is that when the bootstrapper is run on Windows 7, the Program Compatibility Assistant is being launched. I need to make this not happen.

Would you be able to confirm that the bootstrapper here doesn't trigger the PCA on Windows 7?

Cheers,

Tim
TimHaughton  Wednesday, September 02, 2009 11:56 AM
Sorry for the misunderstanding. I run the bootstrapper on my side, however the PCA is not triggered and I can run the application. The issue seems specific to your environment. Please try to disable the firewall to see if the problem continues.

By the way, I am using windows 7 Version="6.1.7600.16385"

Thanks,
Rong-Chun Zhang

Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
Rong-Chun Zhang  Wednesday, September 02, 2009 12:24 PM
OK thanks for that. We're running the same version. I'll grab the Ultimate ISO from the office and set up a VM and do some comparisons. Hopefully it's something specific to the MSIT build.

I'll post back in a few days if I can replicate it on a virgin Ultimate VM.

Cheers,

Tim
TimHaughton  Wednesday, September 02, 2009 12:37 PM

You can use google to search for other answers

Custom Search

More Threads

• Click once deployment
• Updating data files
• control in IE, fully trusted?, still throwing SecurityException
• .Net Deployment -Have a Web URL in my deployment project and want to create a shortcut on the Users Desktop
• Error Registering Capicomm.dll
• Seeing odd (non consistant) behavor when running a custom action to detect if app is running
• Can ClickOnce provide an 'Uninstall' method?
• Click Once Deployment Question
• How to modify app.exe.config.deploy file
• Customizing the deployment user interface.