This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- System search returning #379893 instead of 379893
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 27, 2015
07:31 AM
System search returning #379893 instead of 379893
Hi,
I am trying to search presence of the following key and value assigned to this key from system search. This key is installed when .net framework above version 4.5 is installed on the system.

The key value is 379893 but in installation log I get its value as #379893.Due to this issue I am not able to use this value in conditions. Condition builder does not accept # in the condition statement.
Not sure why I do not get the value as clean 379893
Regards,
Amarjeet
I am trying to search presence of the following key and value assigned to this key from system search. This key is installed when .net framework above version 4.5 is installed on the system.

The key value is 379893 but in installation log I get its value as #379893.Due to this issue I am not able to use this value in conditions. Condition builder does not accept # in the condition statement.
Not sure why I do not get the value as clean 379893
Regards,
Amarjeet
(9) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 02, 2015
10:32 AM
Hi
I found solution for above problem.
I still don't know why the string reports #.
For using in condition I created a new property called NETFRAMEWORK452TWO and assigned value #379893 from property manager.
Then used this property for comparing actual value returned by system search.( NETFRAMEWORK452)
So my condition looks like :
Not ( NETFRAMEWORK452=NETFRAMEWORK452TWO)
This works perfectly well.
Regards,
Amarjeet
I found solution for above problem.
I still don't know why the string reports #.
For using in condition I created a new property called NETFRAMEWORK452TWO and assigned value #379893 from property manager.
Then used this property for comparing actual value returned by system search.( NETFRAMEWORK452)
So my condition looks like :
Not ( NETFRAMEWORK452=NETFRAMEWORK452TWO)
This works perfectly well.
Regards,
Amarjeet
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 02, 2015
01:20 PM
Hi Amarjeet,
The difference is between comparing string values and integer values. If you put a hash in front of the number, it is treated as an integer rather than a string, otherwise the installer assumes properties are all strings.
The difference is between comparing string values and integer values. If you put a hash in front of the number, it is treated as an integer rather than a string, otherwise the installer assumes properties are all strings.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 03, 2015
02:37 AM
Hi Dan,
I totally agree with you. Technically I should compare integers instead of strings.
But the issue I am facing with system search is I get the value appended with #. I don't know why install shield returns this weird string instead of integer value.
Have you ever tried obtaining registry value from system search ?
Regards,
Amarjeet
I totally agree with you. Technically I should compare integers instead of strings.
But the issue I am facing with system search is I get the value appended with #. I don't know why install shield returns this weird string instead of integer value.
Have you ever tried obtaining registry value from system search ?
Regards,
Amarjeet
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 03, 2015
09:05 AM
Amarjeet,
At run time, when Windows Installer is performing the registry-related system search, it sets the value of the property that you specified. When Windows Installer is setting that property, it adds a prefix to the property value to indicate the type of registry entry (such as REG_DWORD or REG_BINARY). If you then use the property to configure the registry, or if you create a condition that reads this property, you must understand the syntax that Windows Installer uses to set the property.
The following table lists each of the types of registry entries, along with the associated prefix that Windows Installer uses when setting the system search property.
[table="width: 500, class: grid, align: left"]
Prefix/Notation
Meaning
The property value contains a string value (REG_SZ).
#
#+
#-
The property value contains an integer value (REG_DWORD).
#x
The property value contains a hexadecimal value (REG_BINARY).
Windows Installer converts each hexadecimal digit as an ASCII character for this property value.
#%
The property value contains an expandable string value (REG_EXPAND_SZ).
The property value contains a list of strings (REG_MULTI_SZ). This value starts and ends with null.
[/table]
I hope that helps.
At run time, when Windows Installer is performing the registry-related system search, it sets the value of the property that you specified. When Windows Installer is setting that property, it adds a prefix to the property value to indicate the type of registry entry (such as REG_DWORD or REG_BINARY). If you then use the property to configure the registry, or if you create a condition that reads this property, you must understand the syntax that Windows Installer uses to set the property.
The following table lists each of the types of registry entries, along with the associated prefix that Windows Installer uses when setting the system search property.
[table="width: 500, class: grid, align: left"]
Prefix/Notation
Meaning
The property value contains a string value (REG_SZ).
#
#+
#-
The property value contains an integer value (REG_DWORD).
#x
The property value contains a hexadecimal value (REG_BINARY).
Windows Installer converts each hexadecimal digit as an ASCII character for this property value.
#%
The property value contains an expandable string value (REG_EXPAND_SZ).
The property value contains a list of strings (REG_MULTI_SZ). This value starts and ends with null.
[/table]
I hope that helps.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 03, 2015
09:09 AM
Hi DebbiL,
Thanks for the table. My question is still un answered. How t use the property prefixed with # in condition table.
Amarjeet
Thanks for the table. My question is still un answered. How t use the property prefixed with # in condition table.
Amarjeet
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 03, 2015
09:34 AM
Did you try to put the value, including #, within quotes when entering it in the Condition Builder? For example:
"#379893"
"#379893"
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 04, 2015
03:58 AM
Set the Condition to:
FOUNDDOTNET452<"#379893" --> not found
FOUNDDOTNET452>="#379893" --> found or next Version
FOUNDDOTNET452<"#379893" --> not found
FOUNDDOTNET452>="#379893" --> found or next Version
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 04, 2015
06:47 AM
Hi Roman,
Thanks for your suggestion.
Is it possible to convert this string into decimal in install shield ?
Regards,
Amarjeet
Thanks for your suggestion.
Is it possible to convert this string into decimal in install shield ?
Regards,
Amarjeet
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Mar 04, 2015
07:08 AM
You can use ISScript string functions to convert string to number.
