sccm query installed software vs installed applicationsaudience moyenne ligue 1

Scripts the only option is Powershell. Not only for Chrome but any installed software. Lists information about the installed software applications on Configuration Manager clients found through Asset Intelligence. The view can be joined with other views by using the ResourceID column. Lists details about hardware inventory collected from clients that have custom hardware inventory client settings deployed. Let's say we can't call the uninstaller for a particular product. This can help visualize just how many systems have the software install. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. But please read above the issue with having 20++ MSI GUIDs for the same product, Installed Applications vs Installed Software - After successfully removing an installed program via WMIC script (package), Configuration Manager 2012 - Application Management. FROM v_GS_ADD_REMOVE_PROGRAMS a, v_R_System c. WHERE a.ResourceID = c.ResourceID AND a.DisplayName0 like '%Adobe acrobat%' Lists user account information for the modern Windows applications found on client computers. So it needs to go to only targeted devices. He is Blogger, Speaker, and Local User Group HTMD Community leader. Lets check that Box for "Installed Software" and click OK. You'll want to trigger both a Machine Policy Update (So it gets the new Client Settings), the Trigger the . Polish Community In Sydney Australia, What Kind Of Cancer Did Nancy Kulp Have, Yard Machine Lawn Mower Bag Installation, Martin Bryant Sister, New Mexico Vehicle Registration Military, Articles S
Follow me!">

Fetch report to get application in add remove from all machines. Listing out office versions installed on all machines is a big task. In this post I will show you how to find installed software using SCCM CMPivot. Hardware inventory runs on your clients according to the schedule that you specify in client settings(by default, this cycle occurs every seven days). Here we have tested the Query using this we've created a listed device collection; for which the deployment will be mapped in order to upgrade the software Lists information about the name and version of Configuration Manager client components found on clients. . I want to be able to force install an update to Chrome on all machines that have it installed without having to force install Chrome for everyone or having to go through and pick the machines. This example is for creating a collection of systems with Flash installed. As discussed in the above section, you can check and validate the WQL query with the Query Results Preview. When you run a CMPivot query, it immediately runs a query on all currently connected devices in the target collection and returns the results. The view can be joined with other views by using the ResourceID column. If you have any questions, feel free to add them in comments section. be as there is no universal way to uninstall all applications in Windows. This view contains a subset of information from the v_GS_SYSTEM_ENCLOSURE view. Lists information about the Configuration Manager devices, including the device ID, number of processors, platform type, processor type, and so on. Most users might not have the application installed, so they also don't need to go through this check every time. Sometimes I forget even the most basic stuff. The view can be joined with other views by using the ResourceID column. This view can be joined to other views by using the ResourceID column. Launch the SCCM console and go to Assets and Compliance > Overview > Device Collections. The least important reason is that its not very fast. SCCM WQL Query - List version of a specific installed application? Lets find out the best way to create an SCCM Collection based on Installed Application and its version. Learn More SQL Server Developer Center Sign in United States (English) He is a Solution Architect in enterprise client management with more than 20 years of experience (calculation done in 2021) in IT. You need to avoid creating collections based on each application installed to reduce the impact of high-cost collection evaluation and performance issues. This view can be joined with other views by using the ResourceID column. From the select attribute window, you need to select class, alias as, Attribute, etc. document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); Integrate Third-Party Patch Management in Microsoft ConfigMgr and Intune. As an example App A is assigned to a group of users, but with an exclusion on some devices with special settings. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. SELECT SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_R_SYSTEM.ResourceID IN(SELECT SMS_R_SYSTEM.ResourceID from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "%APP2%") AND SMS_R_SYSTEM.ResourceID IN(SELECT SMS_R_SYSTEM.ResourceID from SMS_R_System inner join SMS_G_System_ADD_REMOVE_PROGRAMS on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName = "App1"), select SMS_R_System.ResourceId, SMS_R_System.ResourceType, SMS_R_System.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.ResourceDomainORWorkgroup, SMS_R_System.Client from SMS_R_System where SMS_R_System.Name in (select SMS_R_System.Name from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName like "Microsoft Deployment Toolkit%") and SMS_R_System.Name in (select SMS_R_System.Name from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceID = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName like "Windows Assessment and Deployment Kit%"). Many hardware inventory views are created in Configuration Manager by default, and many more can be enabled or creating classes by using the hardware inventory classes dialog box, accessible from client settings. Lists information about the operating system found on Configuration Manager devices. Site design / logo 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA. If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com. Lists information about the battery on portable computers, including its status, type, voltage and expected life. When someone installs the application we need to make sure the installed application remains up to date. This includes the manufacturer, the install date and more. In the Assets and Compliance workspace, choose Devices or open any collection that displays devices. Using the Win32_Product WMI class is not recommended as it has a major downside that will impact your systems. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. Jason | https://home.configmgrftw.com | @jasonsandys, Thanks for explaining Installed Applications vs Installed Software. The view can be joined with other views by using the ResourceID column. Cheers, wish Google landed me on this page sooner. In addition to the product name, the output also contains the Publisher information, Product Version and Software Code. This view contains the information in the v_GS_INSTALLED_SOFTWARE view and joins several other tables to provide additional details about the installed software. If I now assign a configuration profile to the same group of users, I cannot exclude the devices anymore. Any applications that use these non-Windows Installer packages for deployment wont be returned when Win32_Product is queried. This is commonly done (much to the dismay of the IT departments) to allow users to install programs without needing administrative privileges. This view can be joined to other views by using the ResourceID column. PowerShell is a scripting language, it doesn't magically do things, it automates them. Now in some cases not all computers in the SCCM device collection are online due to users located in different time zones. So here is how I ended up doing it using the Name/Expression method in Select-Object: Thanks for contributing an answer to Stack Overflow! Now click OK and save your collection. Mac applications ). I know how to build a custom object i'm just wondering the difference in how you suggest it. OPEN - SCCM Report on software installed through software center | SCCM | Configuration Manager | Intune | Windows Forums Home Forums What's new Contact Log in Register This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register. Lets see how to create an SCCM collection based on the installed application on Windows PC. How can I make a device collection based on on having any version of software below a certain number and then deploy the software to that collection to get everyone on the latest version without pushing the software to computers without the software already installed? What is SCCM Limiting Collection? Lists the properties collected from each inventory class by Configuration Manager hardware inventory. is there any sql query where will get all softwares are install from all machines? Hi, Open SCCM Admin console. Why is this application still showing in the Resource Explorer list when if you look at the machine, it's clearly not installed? How Intuit democratizes AI development across teams through reusability. Is it possible to query installed MS office updates bij KB number ? Most applications that have self-update mechanisms (Jabra, Power BI desktop) need Admin rights to install the update. Prajwal Desai is a Microsoft MVP in Enterprise Mobility. I create a collection based on the Google Chrome application installation status. Choose the device collection against which you want to run the CMPivot. Thank you for the detailed report Sir. Choose the "Installed Applications" attribute class and the "Display Name" attribute and then click on OK. Change the operator to "is like" and then type the software title in the "Value" input box and make sure to include the wildcard "%" (not required if you want a specific title and are sure of the spelling). Lists information about the network item found on Configuration Manager clients, and organized by ResourceID and then by GroupID. You can right-click any item in the right-pane of the Resource Explorer window and choose Properties . I hope this post helps in finding the installed softwares from your computers. Have a look at the Application Event Log after running the above command (preferably on a test system). The following sample queries demonstrate how the Configuration Manager software inventory views can be joined to other views to retrieve specific data. is there a script for that.. i tried this but no luck 2023 Quest Software Inc. All rights reserved. in progress 0. This view can be joined to other views by using the ResourceID column. Now that we know how to query installed softwares, its the matter of refining our above query and finding the product name. SCCM dynamic device collections based on the installed application can sometimes be tricky because of the dependency on hardware inventory. There has been a growing trend of application vendors making installers that deploy to a users profile (%userprofile%\AppData). On theQuery Rule Propertieswindows, specify the following information, such as the querys name, resource class, etc. Because of this, it is likely that Configuration Manager sites collect different hardware inventory resulting in different hardware inventory views. Remember, this is not recommended using in a production environment. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. This process also initiates a consistency check of packages installed, verifying and repairing the install. You will most likely need to invest a little time in filtering out things you arent interested in. I realized you're probably pointing out the detection rules under requirements. Thank you, Nice Article, it really helped me So far I have this below, but not quiet working. Remember, friends dont let friends query Win32_Product. Lists detailed information about the Windows Event Logs found on client computers. if you have SCCM in place already all the GUIDs are within the db you can see them by running. For that specific scenario (and assuming Windows since it doesn't make sense on iOS or Android necessarily), you could/would deploy the update to all devices using a Win32 App and use the detection method to ensure it only runs on systems where the update is applicable -- this is the entire purpose of Win32 apps having a detection method. on SMS_G_System_ADD_REMOVE_PROGRAMS.ResourceID = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS.DisplayName like "APP%NAME", select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System Got it, that would solve this, I would just need to maintain an app without the requirement rule for first time installs of the app. Would love to be able to do the same for managing applications in Intune. Lists information about the USB devices found on Configuration Manager clients through Asset Intelligence. Get-Package returned 1345 items, but the vast majority of the extra rows were various updates (Windows Defender Security and Intelligence updates, Windows Malicious Software Removal Tool updates, monthly Cumulative Updates - you get the picture ). In SQL Server Management Studio, right-click on the View that matches this name, right click it, and Select Top 1000 rows. Let's make it useful information for everyone who reads it. Includes the name of the hotfix, who installed it and when, a description of the hotfix, and more. The GroupID column starts at 1 for the first network item for a client and increments by 1 for each additional network item. Configuration Manager Rajesh Kumar 2 years 5 Answers Beginner. https://home.configmgrftw.com/uninstall-software-en-masse/, Richard Knight | Collection Refresh Manager | Queries such as "select * from Win32_Product where (name like 'Sniffer%')" require WMI to use the MSI provider to enumerate all of the installed products and then parse the full list sequentially to handle the "where" clause. Win32_product Class is not query optimized. inventory uses as well). Lists detailed information about the network protocols used by client computers. Application scripts is anytype of script, vbs, batch, ps1, etc. I've opened the script into an Edit and it's quite something! Home SCCM Find Installed Software using SCCM CMPivot. The view can be joined with other views by using the ResourceID column. If you look at the Script that I posted a link to. Hi, I would have the same question, how to have a dynamic group based on installed software. Lets find installed software using SCCM CMPivot query. This view can be joined to other views by using the ResourceID column. While some browser helper objects are beneficial, malware might be delivered is in the form of browser helper objects. Connect and share knowledge within a single location that is structured and easy to search. Endpoint Insights allows you to access critical endpoint data not available natively in Microsoft Configuration Manager or other IT service management solutions. The membership rules determine the resources included in the collection and when it updates. The view can be joined with other views by using the ResourceID column. InstalledSoftware Lists information about the serial ports on clients. After doing the following I ran a Hardware Inventory across toe building. Lists information about issued Terminal Services licenses. I would have the same question, how to have a dynamic group based on installed software. pls suggest. Click on the Edit Query Statement button to continue building dynamic queries from Query Statement Properties. The standard hardware inventory views are described in this section. The view can be joined with other views by using the ResourceID column and with Asset Intelligence views by using the SoftwareCode0 and SoftwarePropertiesHash0 columns. Hope it makes some sense. Win32_Product will only return applications installed via Windows Installer. Like many others, I too first reached for Win32_Product before I knew better. Make sure you replace the product name with one that you want to find and device name as well. x installed" (see collection below). and underHKLM\Software\Wow6432Node\Microsoft\Uninstall (which are exactly what my script checks and what ConfigMgr hardware Yo ucan certainly automate the task with PowerShell, but you can also automate it with VBScript, a batch Lists information about the installed Microsoft software applications on Configuration Manager clients found through Asset Intelligence. I have not included the results with the version filter. There is some good documentation from Microsoft on this in KB974524. Using Kolmogorov complexity to measure difficulty of problems? Lists information about the active Configuration Manager clients, including domain, name, system role, system type, and more. also tried On my admittedly ancient i7 with an SSD for the OS volume it takes over a minute. The % signs are wildcards, I recommend keeping them but your case may vary. In the Configuration Manager console, select Monitoring. This view can be joined to other views by using the ResourceID column. Lists the encryptable disk volumes found on Windows computers. The view can be joined with other views by using the ResourceID column. As a general rule, each hardware inventory view has an associated inventory history view that starts with the v_HS_ view name. What's the purpose of the group once you created it? The view can be joined with other views by using the ResourceID column. Queries: Installed application vs. Includes the capacity, manufacturer, description and more. If so, we can create a collection based on license information. Lists information about the applications found on Configuration Manager clients, through software metering, that were recently run. NOTE! I know you mentioned how to scan softwares on specific machine i.e. Try to make two collections. This view can be joined to other views by using the ResourceID column. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. SCCM Report of Most Installed Applications. You can get more information from the CollEval.log file. Do new devs get fired if they can't solve a certain bug? This view can be joined with other views by using the ResourceID column. If I run resource explorer on the machine that ran the script successfully, the application still shows under Installed Applications and Installed Software. Lists the installed modern Windows applications found on client computers. The view can be joined with other views by using the ResourceID column. The nature of simulating nature: A Q&A with IBM Quantum researcher Dr. Jamie We've added a "Necessary cookies only" option to the cookie consent popup. Lists information about the BIOS found on Configuration Manager clients. Since the application is Required for All Users, everytime MEM does a check if an application is installed it also checks the required applications to see if they are installed or not. Lists information about the virtual machines found on Configuration Manager clients. Then you get all the installed software SCCM detects under that class. | where Device == PC001 | where Device == PC002. inner join SMS_G_System_ADD_REMOVE_PROGRAMS_64 on SMS_G_System_ADD_REMOVE_PROGRAMS_64.ResourceId = SMS_R_System.ResourceId where SMS_G_System_ADD_REMOVE_PROGRAMS_64.DisplayName like "APP%NAME". Are you talking If you are not sure about the product name, you can change the operator to ProductName contains. Is there any way to query to see if an app is installed on a device or on a user's device. v_GS_1394_CONTROLLER Lists details about 1394 controllers on clients. The view can be joined with other views by using the ResourceID column. The view can be joined with other views by using the ResourceID column. $object.SMS_G_System_ADD_REMOVE_PROGRAMS.Version .Guess it's a matter of taste :) thanks again, @Rakha For dictionary-like objects, they're equal. Lists information about modems found on Configuration Manager clients. But i want to get the cumulative list of applications installed in a particular device collection which will help us to know , if any of our users installed unauthorized application in their system. Installed Applications vs Installed Software - After successfully removing an installed program via WMIC script (package) 1 1 22 Thread Installed Applications vs Installed Software - After successfully removing an installed program via WMIC script (package) archived 63a0680f-e8eb-4179-9c41-51201b2e8e95 archived561 TechNet Products IT Resources document.getElementById( "ak_js_1" ).setAttribute( "value", ( new Date() ).getTime() ); This site uses Akismet to reduce spam. Before you run the CMPivot query, ensure the devices are online. For more information about extending Configuration Manager hardware inventory, see How to extend hardware inventory in Configuration Manager. Lists information about the motherboard on Configuration Manager client computers. On the General tab of the Create Query Wizard, specify a unique name and, optionally, a comment for the query. There are many products used to assemble installers that dont build Windows Installer packages. Meet the toughest app packaging challenges with PACE Products. It reads the ARP data and uninstall all apps that match the string. This view can be joined to other views by using the ClassID column. Press question mark to learn the rest of the keyboard shortcuts. These applications are everything from mission-cricital to Adobe Reader. The script doesn't care if it's an MSI or EXE installer. He writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc. This would be to assign configuration profiles for specific apps. I recently attended the MMS conference and /u/jasonsandys mentioned that SWI should really not be used. Once you in the settings, go to Hardware Inventory, click on "Set Classes". By clicking Accept all cookies, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy. Hey Prajwal is it possible to run it against 5k machines? Check the results and if its ok, click on the, Select the Membership rules called HTMD Query-based Installed Software and click on the, Select Google Chrome version (98.0.4758.102) from the Values window. Lists information about the desktop monitors found on Configuration Manager client computers. Normal user accounts are prefixed with S-1-5-21, which matches the Microsoft documentation on Well known security identifiers. Hopefully this provides everyone with faster and safer ways to query for installed applications. Choose the computer containing the inventory that you want to view and then, in the Home tab > Devices group, choose Start > Resource Explorer. Now that we know what not to do, how do we pull installed applications? Lists the WMI classes that are collected by Configuration Manager hardware inventory by class ID. The hardware inventory schedule might delay getting the latest information available on Windows PCs. The view can be joined with other views by using the ResourceID column. When ConfigMgr administrators are creating a collection query to find all computers with a particular application for both x86 and x64 computers, almost everyone falls into the same mistake. We also need to update these versions. This view can be joined with other views by using the ResourceID column. Here is the query you need to put into SCCM to create an SCCM collection based on software installed. The view can be joined with other views by using the ResourceID column. Lists all system console usage information for Configuration Manager clients found through Asset Intelligence by polling the Windows System Security Event Log. In, Thank you for the information. The view can be joined with other views by using the ResourceID column. This post is just for education purposes and testing in the lab environment. Installed Applications and Installed Applications (x64) is raw data from the uninstall keys in the registry. First time I see the usage of [''] though, it looks a lot cleaner using the dot notation doesn't it ? Interestingly, there were a few NVIDIA applications under the HKLM path that my function above pulled but were not present in the Get-Package output (NVIDIA Display Session Container, NVIDIA Display Session Container, NVIDIA Control Panel, and a bunch more). Asking for help, clarification, or responding to other answers. Lists information about the tape drives found on Configuration Manager clients. I want to uninstall certain Dell Optimizer packages from all Dell systems via Intune with a script, but only for devices from dell that have the Optimizer installed. Blog: https://www.enhansoft.com/blog This includes file names, paths, maximum and current sizes, and more. I'm struggling to create a WQL query for SCCM as I'm really new and rarely use it in a complex manner. This view can be joined with other views by using the ResourceID column. Afterwards deploy to all those machines and in the script do the more complicated checks (could even check sccm execution history), and in case the program is detected as sccm installed or does match whatever your criteria is do nothing, in case it is not correct it. Lists information about the operating system found on Configuration Manager clients. There's no direct method to do this today. Right Click Device Collection node and select Create Device Collection. what if you have many specific devices you want to check for in a go That mistake is querying for both x86 and x64 software titles using an Inner Join between x86 and x64 views. The view is also listed and described in the Mobile device management views in Configuration Manager topic. The view is also listed and described in the Asset intelligence views in Configuration Manager topic. The query works and shows me all the computers that have Chrome installed: but I want those 2 properties too, not just the computer name so I can confirm the version numbers. What is the correct way to screw wall and ceiling drywalls? Hi all, I am looking what all applications are installed in ADD/remove program from all collections? I've got an SCCM 2012 installation. Lists information about user profiles found on client computers including the path to the profile, roaming preferences and more. The view can be joined with other views by using the ResourceID column. What am I missing here? We make this application Required for all users with a requirement rule where the requirement is set to check if the application is installed on the system (just a simple check on the presence of an executable). Lists information about the last inventory taken by Configuration Manager. Lists information about the computer boot times. If you dont see the software or application in the list of installed Software means that the hardware inventory details of that application are not received from the Windows device. Using parameter sets we can allow the user to pull various combinations of data, though some will require administrative privileges: The last and probably most convenient option is Get-Package, but as is the way, there are a few caveats. ConfigMgr Resource Explorer Deep Dive Helps to Troubleshoot and Fix Issues, Enable SCCM Resource Explorer from Intune Portal | ConfigMgr, ConfigMgr Collection Based On Active Directory OU, Right-click on one of the devices and select. AI uses ARP as a major source of information, but it does some normalization as well as using other possible sources. Navigate to \ Assets and Compliance \Overview\ Device Collections. To learn more, see our tips on writing great answers. One caveat is that this method will return many more elements than Win32_Product, it will include things such as service packs, Office updates, language packs, etc. This view can be joined to other views by using the ResourceID column. The hardware inventory schema is important to understand when creating queries for Configuration Manager reports. Lists information about parallel ports found on Configuration Manager clients. Or is there some sort of quick thing to run that you're referring to? While I appreciate that you've taken time to create the above script it would still be useful to know if there's a way of gathering the GUID's of a product name on multiple machines in your Domain. is it possible to have the list of applications installed in a specific computer in sccm in powershell The view can be joined with other views by using the ResourceID column. The view can be joined with other views by using the ResourceID column. Instead, you should use requirement rules and supersedence features available in the SCCM application model to upgrade the Google Chrome version of Windows PCs. Is there a way to make this easier and quicker? My goal is to list 3 things : Computer name - Display Name ("Google Chrome") - Display Version (of that Google Chrome entry). I notice under Applications > Scripts the only option is Powershell. Not only for Chrome but any installed software. Lists information about the installed software applications on Configuration Manager clients found through Asset Intelligence. The view can be joined with other views by using the ResourceID column. Lists details about hardware inventory collected from clients that have custom hardware inventory client settings deployed. Let's say we can't call the uninstaller for a particular product. This can help visualize just how many systems have the software install. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support. But please read above the issue with having 20++ MSI GUIDs for the same product, Installed Applications vs Installed Software - After successfully removing an installed program via WMIC script (package), Configuration Manager 2012 - Application Management. FROM v_GS_ADD_REMOVE_PROGRAMS a, v_R_System c. WHERE a.ResourceID = c.ResourceID AND a.DisplayName0 like '%Adobe acrobat%' Lists user account information for the modern Windows applications found on client computers. So it needs to go to only targeted devices. He is Blogger, Speaker, and Local User Group HTMD Community leader. Lets check that Box for "Installed Software" and click OK. You'll want to trigger both a Machine Policy Update (So it gets the new Client Settings), the Trigger the .

Polish Community In Sydney Australia, What Kind Of Cancer Did Nancy Kulp Have, Yard Machine Lawn Mower Bag Installation, Martin Bryant Sister, New Mexico Vehicle Registration Military, Articles S

Follow me!

sccm query installed software vs installed applications