Not clear what you are doing here. Is your package 32-bit or 64-bit?

A 64-bit package won't run at all on a 32-bit box, and a 32-bit package needs 
different flags to (reliably) access 64-bit areas of the registry on 64-bit 
machines. You haven’t given us enough information to reproduce what you are 
doing, nor specifically what you intend to do.

-----Original Message-----
From: Maria Goncearova [mailto:maria.goncear...@towersperrin.com] 
Sent: Sunday, October 18, 2009 7:24 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Problem with deletion of registry keys under 64 bit.






Hi.
I have a question about 64 bit. All I need is to create/add key values to 
registry on install and delete them on uninstall in 64 bit environment 2003 and 
2008.

This is the code, which I use under 32 bit to create a registry key and write 
some values(I use flag “NOT VersionNT64”):
<Component Id="RegistryChangesComponent32Bit" Guid="
CE33CE9B-5838-4f28-A623-FEF8E4254849">
 <Condition>NOT VersionNT64</Condition>
  <Registry Id='CreateExclusionListKey32' Root='HKLM'  Key='
SOFTWARE\Microsoft\PCHealth\ErrorReporting\ExclusionList'
                          Action='createKey'/>
  <Registry Id='AdministrationServiceKey32' Root='HKLM' Key='
SOFTWARE\Microsoft\PCHealth\ErrorReporting\ExclusionList'
                          Name='AdministrationService.exe' Action='write'
Type='integer' Value='00000001'/>
  <Registry Id='RemoveExclusionListKey32' Root='HKLM' Key='
SOFTWARE\Microsoft\PCHealth\ErrorReporting\ExclusionList'
                          Action='removeKeyOnUninstall'/> </Component>

This is the code, which I use under 64 bit to create a registry key and write 
some values(I use flag “VersionNT64”):
<Component Id="RegistryChangesComponent64Bit" Guid="
79368FDB-9A6A-430b-B8ED-97FDE93E89C6">
 <Condition>VersionNT64</Condition>
  <Registry Id='CreateExclusionListKey64' Root='HKLM' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList'
Action='createKey'/>
  <Registry Id='AdministrationServiceKey64' Root='HKLM' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList' Name= 
'AdministrationService.exe' Action='write' Type='integer' Value='00000001'
/>
  <Registry Id='RemoveExclusionListKey64' Root='HKLM' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList'
Action='removeKeyOnUninstall'/>
</Component>

But when I try to install in 2003 64 bit it gives the following error
message:
(Embedded image moved to file: pic24976.jpg)

I goggled and found that some people had similar problem and they advised to 
use Root='HKCR'under 64 bit.
So I changed my code to use HKCR root for 64 bit:
<Component Id="RegistryChangesComponent64Bit" Guid="
79368FDB-9A6A-430b-B8ED-97FDE93E89C6">
 <Condition>VersionNT64</Condition>
  <Registry Id='CreateExclusionListKey64' Root='HKCR' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList'
Action='createKey'/>
  <Registry Id='AdministrationServiceKey64' Root='HKCR' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList' Name= 
'AdministrationService.exe' Action='write' Type='integer' Value='00000001'
/>
  <Registry Id='RemoveExclusionListKey64' Root='HKCR' Key='
SOFTWARE\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList'
Action='removeKeyOnUninstall'/>
</Component>

In that case installation and uninstallation does not produse any warning 
dialogs and looks ok. Installation creates the following keys
   1)
      HKEY_CLASSES_ROOT\Software\Microsoft\PCHealth\ErrorReporting\ExclusionList
   2)
      
HKEY_CLASSES_ROOT\Software\Wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList
   3)
      
HKEY_LOCAL_MACHINE\Software\Classes\Software\Microsoft\PCHealth\ErrorrReporting\ExclusionList
   4)
      
HKEY_LOCAL_MACHINE\Software\Classes\Software\wow6432Node\Microsoft\PCHealth\ErrorReporting\ExclusionList

The problem is that uninstallation never deletes these registry keys under
64 bit(all 4 paths from 4 points above have all key values even after 
uninstall).

Could you help me with this ?

Thanks in advance for your answers!


-------------------------------------
Maria Goncearova
Tillinghast Software Solutions
Level 13, 135 King Street
Sydney NSW 2000
Australia

Switch: (+61 2) 8198 9000
Direct: (+61 2) 8198 9107
Fax: (+61 2) 8198 9009
maria.goncear...@towersperrin.com


If you no longer wish to receive further emails from us, please address your 
email to unsubscribe...@towersperrin.com.



NOTICE:  This communication may contain confidential, proprietary or legally 
privileged information. It is intended only for the person(s) to whom it is 
addressed.  If you are not an intended recipient, you may not use, read, 
retransmit, disseminate or take any action in reliance upon it.
Please notify the sender that you have received it in error and immediately 
delete the entire communication, including any attachments. Towers Perrin does 
not encrypt and cannot ensure the confidentiality or integrity of external 
e-mail communications and, therefore, cannot be responsible for any 
unauthorized access, disclosure, use or tampering that may occur during 
transmission.  This communication is not intended to create or modify any 
obligation, contract or warranty of Towers Perrin, unless the firm clearly 
expresses such an intent.


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to