|
Greetings, I've got a clickonce app where I set a file association in the manifest. This app has been deployed to approximately 15 machines successfully, but on one machine the file association refuses to work. I took a look in the registry a few times after trying various things, and theextension doesn't get created in the HKEY_CLASSES_ROOT for this one poor soul.Note that as far as I can tell the app runs normally otherwise. Not sure what all other details I should provide, so if I need to detail anything further please let me know. Thanks. |
| Peeticus Wednesday, May 06, 2009 1:41 PM |
My first suggestion would be to make sure that the file extension is not already associated with a different application on that one machine. ClickOnce won't overwrite existing extensions. -- Mike |
| Mike Wade - MSFT Wednesday, May 06, 2009 10:09 PM |
Thanks for the reply. On my last attempt I have gone in to make sure that the file extension in question (.tt2x) is not present in the users registry, and it is not. One other thing I've noticed: For machines which this process works properly, the .tt2x registry entry references an application GUID. This guid is a registered class in the registry. For the one machine where the file association does not work, this key does not get created either. So, perhaps some .net object registration isn't getting done properly which in turn prevents the file association from going through? I can't say that I know what the other registry key is for, but here's it's path: My Computer\HKEY_CLASSES_ROOT\CLSID\{GUID} |
| Peeticus Thursday, May 07, 2009 2:14 AM |
Does the user have administrative privileges? ClickOnce apps don't run as elevated applications, so if the user does not have the right privileges by default to write to that area of the registry, ClickOnce won't do it.
RobinDotNet Click here to visit my ClickOnce blog! |
| RobinDotNet Thursday, May 07, 2009 6:32 AM |
I can make program modifications to manually create a .tt2x registry entry (though I don't have the proper app guid to point to), and it will create the registry entry on the users machine. So I would say *probably* they do have the administrative privileges since i can programmatically create registry entries and the user can manuallydelete them. If this is not enough info to determine with 100% accuracy the answer to your question I will look further. |
| Peeticus Thursday, May 07, 2009 4:38 PM |
So when the user runs your app, does it create the .tt2x registry entry? If not, then I would wonder why. RobinDotNet Click here to visit my ClickOnce blog! |
| RobinDotNet Thursday, May 07, 2009 7:03 PM |
No it does not. Let me ask another question then: if elevated rights are required, should the click-once installation give some form of error message if it doesn't have those rights to the registry (to create the tt2x file association), or does it just fail to perform that part of the installation with no warning? |
| Peeticus Thursday, May 07, 2009 8:15 PM |
Does ClickOnce actually write to the registry when those values are in the manifest file? I'd be surprised, but that doesn't mean it's not true. :-)
RobinDotNet Click here to visit my ClickOnce blog! |
| RobinDotNet Friday, May 08, 2009 5:32 AM |