|
Post by sebast on Nov 19, 2018 16:00:10 GMT
I'm trying to match Software using softwarediscovery action and it finds 32-bits applications but I have problems with detecting 64-bit applications
I'm using in my xml file:
<Match DisplayName="Application" Variable="App" /> <Match DisplayName="Application (64-bit)" Variable="App64" /> In Log I receive:
+ Found: Application version 22.1 UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48) + Found: Application (64-bit) version 22.1. UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48) * Scanning installed software for matches... + Found a display name match for Application: Application. UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48) + Set the task sequence variable 'App' to the value 'True' UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48) - Did not find a match for Application (64-bit). UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48) + Set the task sequence variable 'App64' to the value 'False' UI++ 11/19/2018 4:45:59 PM 10824 (0x2A48)
Am I doing something wrong? How can i detect x64 applications?
I'm using it on Windows 7 SP1 x64 Enterprise with UI++ 64-bit
|
|
|
Post by Jason on Nov 19, 2018 22:56:55 GMT
Are they listed in the 64-bit ARP?
|
|
|
Post by sebast on Nov 23, 2018 9:38:34 GMT
Are they listed in the 64-bit ARP? Yes, software entries are visible in Add Remove Programs and they are listed in Registry. As you can see in log entries that i included in my post, UI++ finds this aplication BUT matching rule matches only 32bit version
|
|
|
Post by Jason on Nov 24, 2018 21:52:00 GMT
But the ARP control panel applet does not differentiate between 64-bit and 32-bit so looking there is not definitive. Where exactly in the registry do you see the values?
|
|
|
Post by sebast on Nov 27, 2018 10:25:04 GMT
But the ARP control panel applet does not differentiate between 64-bit and 32-bit so looking there is not definitive. Where exactly in the registry do you see the values? 64-bit aplliaction is visible in: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 32-bit are in: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
|
|
|
Post by sebast on Dec 3, 2018 14:41:56 GMT
I'm still in the middle of looking for a resolution for this problem, and i've found something interesting...
IS there a problem with "(" and ")" in the DisplayName when asseting MatchRules in SoftwareDiscovery?
because when i removed "(" and ")" in the registry (64-bit Uninstall) and in SoftwareDiscovery in xml it worked and it vound my application:
* Loading 64-bit software information from the registry... 1/1/1601 12:00:00 AM 0 (0x0000) + Found: Applications 64-bit version 15.3.11.26. 1/1/1601 12:00:00 AM 0 (0x0000) * Scanning installed software for matches... 1/1/1601 12:00:00 AM 0 (0x0000) + Found a display name match for Applications 64-bit: Applications 64-bit. 1/1/1601 12:00:00 AM 0 (0x0000) + Set the task sequence variable 'App64' to the value 'True' 1/1/1601 12:00:00 AM 0 (0x0000)
|
|
|
Post by sebast on Dec 3, 2018 16:42:07 GMT
SELF-SOLVED the case with "(" and ")" in Application name in the registry field DisplayName was my problem. I had to add "\" before them in SoftwareDiscovery rules: <Match DisplayName="Application \(64-bit\)" Variable="App64" /> I wasn't aware that these characters are restricted
|
|
|
Post by Jason on Dec 8, 2018 0:07:32 GMT
Those have a special meaning in regular expressions. Glad you found it.
|
|
|
Post by SteveB on Jul 4, 2019 15:32:24 GMT
I had to escape the name for Notepad++ get it working: DisplayName="Notepad\+\+ \(64-bit x64\)\w*" . Perhaps there's a better way using regular expressions.
|
|
|
Post by Jason on Jul 4, 2019 21:31:52 GMT
Yep, + also has a special meaning in regular expression syntax.
|
|