i'm building multi-instance installer installshield 2014 premier , adding key registry (from registry table):
registry | root | key | name | value | component | isattributes registry34 | 2 | software\mycompany\myproduct\[instanceid]\instancedata | env | [env] | isregistrycomponent | 0 key registry after install:
hkey_local_machine\software\wow6432node\mycompany\myproduct\0\instancedata hkey_local_machine\software\wow6432node\mycompany\myproduct\1\instancedata both contain values expecting. however, when search them, don't seem finding them (reglocator table):
signature | root | key | name | type newsignature1 | 2 | software\mycompany\myproduct\[instanceid]\instancedata | env | 18 appsearch table has env | newsignature1
i've tried on various occasions , without 64 bit search flag set (2 vs 18 in type).
from install log after uninstall, see env property not being set value registry ('prod' default value of env property):
action start 16:58:38: install. msi (s) (5c:c8) [16:58:38:080]: running executesequence msi (s) (5c:c8) [16:58:38:080]: doing action: appsearch action start 16:58:38: appsearch. msi (s) (5c:c8) [16:58:38:080]: note: 1: 2262 2: signature 3: -2147287038 msi (s) (5c:c8) [16:58:38:081]: property change: adding iisrootfolder property. value 'c:\inetpub\wwwroot\'. msi (s) (5c:c8) [16:58:38:081]: note: 1: 2262 2: signature 3: -2147287038 msi (s) (5c:c8) [16:58:38:081]: property change: adding dotnetversion40full property. value '#1'. msi (s) (5c:c8) [16:58:38:081]: note: 1: 2262 2: signature 3: -2147287038 msi (s) (5c:c8) [16:58:38:081]: note: 1: 1402 2: hkey_local_machine\software\mycompany\myproduct\1\instancedata 3: 2 msi (s) (5c:c8) [16:58:38:081]: note: 1: 2262 2: signature 3: -2147287038 msi (s) (5c:c8) [16:58:38:081]: property change: adding iis_version property. value '#8'. msi (s) (5c:c8) [16:58:38:082]: doing action: updateproductname_setprop action ended 16:58:38: appsearch. return value 1. msi (s) (5c:c8) [16:58:38:082]: property change: modifying productname property. current value 'mycompany myproduct server components'. new value: 'mycompany myproduct server components - prod'. action start 16:58:38: updateproductname_setprop. what doing wrong?
the following line in log file has information should looking at:
msi (s) (5c:c8) [16:58:38:081]: note: 1: 1402 2: hkey_local_machine\software\mycompany\myproduct\1\instancedata 3: 2
the above line interpreted follows: windows installer error code of 1402, msi sdk defines follows: could not open key: [2]. system error [3].
system error code of 2 indicates:error_file_not_found
the log file indicates registry key not found. assuming snippet of log when 64 bit search flag set in reglocator table. however, registry entries created in 32 bit hive(wow6432node).
to fix issue, should doing:
-set value under type column in reglocator table 2. ensure registry search performed in 32 bit hive.
-add property env list of securecustomproperties.
probably, happening here , value of property env not passed execute sequence. value of property passed execute sequence, need secure property ie. add env property securecustomproperties in property table.
once this, code snippet should start working.
in general, under normal circumstances, values of public properties passed ui sequence execute sequence. however, there lockdown conditions property needs explicitly added securecustomproperties list in property table value propogate execute sequence.
hope helps.
regards,
kiran hegde
Comments
Post a Comment