none
Clickonce applications not being inventoried RRS feed

  • Question

  • I've been running audits in preparation of a large migration from XP to Windows 7 throughout a manufacturing area.  As part of the analysis we are using the MAPS tool to inventory the various hardware and software components used in our processes.  Unfortunately I am noticing that the MAPS audits are not picking up any of the Clickonce deployed .NET applications developed by my group.  Is there any way to have the MAPS audit gather this information?

    Thanks,

    Dave

    Thursday, February 28, 2013 10:17 PM

All replies

  • If those programs create the necessary registry entries when installed and therefore would show up in the Programs and Features (Add/Remove Programs) list then MAP should show them. MAP gets the list of installed programs from the following registry entries:

    Please note: The tables and registry keys listed could change in future releases.

    MAP fills the ProductsUninstall table with entries from these registry keys:

    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*
    • HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*
    • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\*
    • HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*

    It also fills the products table with entries from these registry keys:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\installer\UserData\*\Products\*\InstallProperties

    MAP will show everything from the ProductsUninstall table with SystemComponent != 1 and without ParentDisplayName or ParentKeyName. (This results in the same list that ARP shows). In addition, we show items from the products table that don't have corresponding entries in the ProductsUninstall table.



    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Friday, March 1, 2013 5:54 PM
    Moderator
  • I'm seeing the software registry entries in the registry of the clients but not finding them in the MAPS ProductsUninstall table.  A typical Clickonce entry looks like:  "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\dfc8dd02c5b58a5e".  Assuming I'm reading your response correctly, I don't see the Parent Display or Key Names present, nor do I see a SystemComponent key in these entries.  The contencts of a sample entry looks like this:

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\5bd2d419310c9dfc]
    "ShortcutAppId"="file://usrtc-servername/Deploy/SerialChecker/SerialChecker.application#SerialChecker.application, Culture=neutral, PublicKeyToken=34d4b33b4cbbbb90, processorArchitecture=x86"
    "SupportShortcutFileName"="SerialChecker online support"
    "ShortcutFileName"="SerialChecker"
    "ShortcutFolderName"="CompanyName"
    "UrlUpdateInfo"="file://usrtc-servername/Deploy/SerialChecker/SerialChecker.application"
    "UninstallString"="rundll32.exe dfshim.dll,ShArpMaintain SerialChecker.application, Culture=neutral, PublicKeyToken=34d4b33bbbb8b790, processorArchitecture=x86"
    "Publisher"="CompanyName"
    "DisplayVersion"="1.0.0.0"
    "DisplayIcon"="dfshim.dll,2"
    "DisplayName"="SerialChecker"

    Friday, March 1, 2013 7:17 PM
  • I'm looking into trying to replicate this in our test lab. While I'm working on that, I want to make sure and confirm that, for the machines you checked for the registry key, the user was logged in and that machine had a WMI status of "Successful"? If you have these programs installed on the machine you are running MAP on, try to create a new database (File > Select Database) and then only inventory the local machine and verify that they are still not showing up.



    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Saturday, March 2, 2013 12:11 AM
    Moderator
  • Thanks much for the help.

    I can confirm that these machines are on and had WMI status of successful (they are all auto-login and run 24-7 in manufacturing).  I also can confirm that from the data, it appears to miss ALL of our Clickonce applications, which is about 40% of our software deployments.  The registry entries for these programs are very similar to that posted above.  Clickonce is an overly complicated beast of a deployment option, but is the best choice for our primarily MS environment.

    On Monday when I have staff available, we'll re-inventory with a fresh database.  We have done this already a few times as I am (very much) hoping to use MAPS to monitor our global progress on Windows 7 conversions.  With the number of scans we have done, I'm fairly certain this behavior is consistent across the clients, as well as all(?) Clickonce installed applications.

    Sunday, March 3, 2013 2:37 PM
  • Any results from your tests in the lab?  We still are not able to inventory these applications.

    Thursday, March 14, 2013 4:51 PM
  • I'm sorry for the delay in response, but this one has me stumped. I'm not familiar with ClickOnce, so I've had to do some research. I think Microsoft has a few ClickOnce apps and those are being picked up so I don't understand why yours are not. Even the registry entries look similar. I've been trying to think of a way to test this outside of MAP to shed some light on what is happening, but I haven't been able to figure something out.

    Let me just confirm the behavior of the MS apps to see if you think they might be ClickOnce. Let's say I go to a intranet site for an internal service like building locations (big campus). It prompts me to install an app and when I choose yes, it then installs the app on my machine. From then on, I can just open the app on my computer (but it requires access to the corporate network). Does this sound like a ClickOnce app to you?



    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Thursday, March 14, 2013 9:38 PM
    Moderator
  • Hi Michael,

    An easy way to identify if an application is deployed via ClickOnce is to open its "shortcut" in a text editor after you've installed it. ClickOnce application shortcuts don't point directly to an executable like a traditional Windows application; instead, they contain information about the deployment that allows the ClickOnce system to check for updates and directs the system to the actual local executable, which is buried in %LOCALAPPDATA%\Apps\2.0 (and is not intended to be opened directly).

    For example, GitHub for Windows is deployed via ClickOnce (exhibiting the general behavior you described in your post). If I open its "shortcut" in Notepad, I see the following information about the deployment:

    http://github-windows.s3.amazonaws.com/GitHub.application#GitHub.application, Culture=neutral, PublicKeyToken=8f45a2159c87c850, processorArchitecture=x86

    Conversely, if I open a traditional Windows shortcut in Notepad, I'll see binary output gibberish, intermittently peppered with some relevant information.

    If you have any additional questions about identifying ClickOnce applications, I'd be glad to help.

    Evan

    Monday, March 18, 2013 6:52 PM
  • I have managed to confirm that these internal apps are in fact, ClickOnce apps, but they do not open in notepad the way you describe. They have the binary gibberish along with the deployment info, perhaps that is the difference? I'm not sure, but I am able to discover them on my machine.


    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Friday, March 29, 2013 6:44 PM
    Moderator
  • If you look at the shortcut properties (Right Click --> Properties), you should see "ClickOnce Application Reference (.appref-ms)" as the filetype, if you wanted to perform additional confirmation on your existing applications.

    Screenshot: http://i.imgur.com/aZGZLbE.png

    If you wanted to test a known standard ClickOnce application, you could try installing MarkdownPad 1 (disclaimer: I created it) - it's deployed via standard ClickOnce and is a small download: http://markdownpad.com/download/MarkdownPad.exe

    It would be good to verify if that application is discoverable in your local analysis.


    Friday, March 29, 2013 6:56 PM
  • Since a ClickOne application is a strict per user application the metadata for the installation is stored at the Registry Uninstall at HKCU... for the user who installed and runs the ClickOnce application.

    MAP Toolkit on the other hand normally use another account (an admin account) when doing the Remote Registry scan. Since the admin user normally do not installs any ClickOnce applications MAP Toolkit don't find any installed applications under its own HKCU.... But still there might be per user installations like ClickOnce applications out there.

    Kjell

      

     
    Wednesday, April 17, 2013 3:50 PM
  • I was able to confirm that MAP will inventory the ClickOnce applicaiton, so perhaps KjellChristianson is correct in their analysis of why MAP is not capturing your ClickOnce apps in your environment. 

    As an aside, pretty cool little program, I've never hear of the Markdown markup language before. I'm going to try using it to write my next TechNet Wiki article. Now that Microsoft has seen fit to EOL my beloved Live Writer, I've been looking for a replacement. =)



    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Wednesday, April 17, 2013 7:40 PM
    Moderator
  • Is this an answer?  Is there a way to get MAPS to inventory these applications even though the HKCU isn't the same user as the MAP Tool?  I suspect that most administrators are using and Admin account to gather information through the toolkit, and MAPS does appear to pick up other applications installed with more 'traditional' mechanisms.

    Wednesday, April 17, 2013 7:48 PM
  • After re-reading the other explanation I saw where they went wrong. MAP does not log in to a machine that it is inventorying. The credentials provided are used to authenticate the remote WMI connection request and that is all. If the machines are set to auto-login with a user account that has the ClickOnce apps installed, then MAP should be picking them up.

    At this point the troubleshooting is going to require getting into some potentially sensitive areas, so please contact us at mapfdbk@microsoft.com and we can proceed with the troubleshooting.

    I will then post the solution that we find.



    Please remember to click "Mark as Answer" on the post that helps you, and to click "Unmark as Answer" if a marked post does not actually answer your question. Please VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread.

    Wednesday, April 17, 2013 9:32 PM
    Moderator