ClickOnce - Add/Remove Programs - Registry Entries

Posted on 2006-05-15
Last Modified: 2012-09-18
I'm preparing for a meeting on using ClickOnce in our organization and have a question I know is going to be asked -

I've read in numerous places that a ClickOnce deployment doesn't write to the registry.
If that's the case, how does the application show up in Add/Remove Programs?  
Doesn't aa registry entry have to be made in order for an installed application to appear there.
Question by:natejacobs

    Expert Comment

    The ClickOnce deployment does not write any settings to the registry relating to the actual functioning of the program.
    It does write entries to the registry for uninstallation though - in HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\*installerID*\ there are 10 entries made for the items related to it in the Add/Remove Programs list:

    All are pretty much self-explanatory.  All are generated by the project settings you have specified in Visual Studio before publishing (except for UninstallString which is created automatically by the installer).
    LVL 3

    Author Comment

    What happens when there are 2 users assigned to the same machine - if one of them uninstalls the program, you would think that uninstall would remove the entries for the other, but all the above are still visible.

    Accepted Solution

    If user 1 uninstalled the program the above entries would still exist for user 2 because of where the entries are actually saved - I abbreviated it above as HKCU, but it means HKEY_CURRENT_USER, i.e. the registry hive of the current user :)  When you are logged in as that person, they become the current_user so although it looks like you are seeing the same registry node, it is in fact a node belonging to a different user of that machine.
    LVL 3

    Author Comment


    That's exactly what I needed to know.

    Expert Comment

    Ok, no problem. And thanks for the A grade.

    Featured Post

    Do You Know the 4 Main Threat Actor Types?

    Do you know the main threat actor types? Most attackers fall into one of four categories, each with their own favored tactics, techniques, and procedures.

    Join & Write a Comment

    Article by: Ivo
    Anonymous Types in C# by Ivo Stoykov Anonymous Types are useful when  we do not need to follow usual work-flow -- creating object of some type, assign some read-only values and then doing something with them. Instead we can encapsulate this read…
    Introduction This article series is supposed to shed some light on the use of IDisposable and objects that inherit from it. In essence, a more apt title for this article would be: using (IDisposable) {}. I’m just not sure how many people would ge…
    Need more eyes on your posted question? Go ahead and follow the quick steps in this video to learn how to Request Attention to your question. *Log into your Experts Exchange account *Find the question you want to Request Attention for *Go to the e…
    In this tutorial you'll learn about bandwidth monitoring with flows and packet sniffing with our network monitoring solution PRTG Network Monitor ( If you're interested in additional methods for monitoring bandwidt…

    732 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    21 Experts available now in Live!

    Get 1:1 Help Now