Results 1 to 4 of 4

Thread: RegDBSetKeyValueEx and 64 bit Vista

  1. #1
    Join Date
    Nov 2008
    Location
    England
    Posts
    8

    Question RegDBSetKeyValueEx and 64 bit Vista

    I've had considerable problems with an InstallScript msi installation program refusing to create registry keys with 64 bit Vista. I tried running it as administrator, telling the setup to request administrator rights, and so on - all to no avail. I then added code to check the return value of RegDBSetKeyValueEx, and abort the installation if any key creation failed. This didn't result in the expected dialog box or abort, which suggests that RegDBSetKeyValueEx was returning success even though nothing was being written to the registry.

    I had no such problems with 32 bit Vista, where the necessary registry keys were created as expected. Is there a known workaround for this issue, or should we just say that the installation is not compatible with the 64 bit version of Vista?

    ----------------

    I have also had problems with Vista registry access with some applications compiled using Visual C++ 6.0. The problem was that the CRegKey MFC class used by that version was deprecated. Upgrading to Visual C++ 2009 and replacing the offending registry method calls fixed the problem - which was that requests to update the registry were silently failing with no error code returned. This sounds very familiar...
    Last edited by nedsram; 01-02-2009 at 11:38 AM.

  2. #2
    MichaelU's Avatar
    MichaelU is offline InstallShield Software Engineer
    Join Date
    Jan 2004
    Location
    Schaumburg, IL
    Posts
    4,501
    Is it not creating the registry keys, or are the keys getting redirected to the 32-bit areas under the Wow6432Node keys?
    Michael Urman - Staff Software Engineer - Flexera Software: InstallShield Team

  3. #3
    Join Date
    Nov 2008
    Location
    England
    Posts
    8
    Quote Originally Posted by MichaelU View Post
    Is it not creating the registry keys, or are the keys getting redirected to the 32-bit areas under the Wow6432Node keys?
    Yes Michael you are correct. Further investigation seems to indicate that the installed program is indeed picking up the registry values. Many thanks for the prompt reply.
    Last edited by nedsram; 01-05-2009 at 05:41 AM.

  4. #4
    MichaelU's Avatar
    MichaelU is offline InstallShield Software Engineer
    Join Date
    Jan 2004
    Location
    Schaumburg, IL
    Posts
    4,501
    You can force the registry to not be reflected by modifying REGDB_OPTIONS (see the help), but do make sure that's the right thing to do. Since this sounds like a key for your application or COM-style registration thereof, and the app is 32-bit running on both 32 and 64-bit platforms, it probably makes sense to use the redirected location they're currently going to.
    Michael Urman - Staff Software Engineer - Flexera Software: InstallShield Team

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •