Microsoft Windows Vista Community Forums - Vistaheads
Recommended Download - Clean, repair and optimize your system



Welcome to the Microsoft Windows Vista Community Forums - Vistaheads, YOUR Largest Resource for Windows Vista related information.

You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so , join our community today!

If you have any problems with the registration process or your account login, please contact us.

Driver Scanner 2009 - Free Scan Now

registry changes

microsoft.public.windows.vista.general




Recommended Fix - Fix Vista Errors and Optimize Performance

Click On Your Flag for Translation
Simplified Chinese French Spanish Italian Portugeuse Japanese German Dutch
Driver Scanner 2009 - Free Scan Now
Reply
  #1 (permalink)  
Old 03-01-2007
vovan
 

Posts: n/a
registry changes
I installed the application which uses registry and found out that all
values moved to different location.
On Windows XP Pro it was:
My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\SRS Enterprises

On Windows Vista Business it is at:
Computer\HKEY_USERS\S-1-5-21-1998095171-3843480920-389078073-1000_Classes\VirtualStore\MACHINE\SOFTWARE\SRS
Enterprises

Everything works. Windows redirects somehow to the new location.
But from the developer point of view it is much harder to find the real
location, because on XP I knew that I have to look for my company name under
My Computer\HKEY_LOCAL_MACHINE\SOFTWARE. And now there is some value
(S-1-5-21-1998095171-3843480920-389078073-1000_Classes) between my company
name and the root. Actually I can use Find, but it's much slower.
Is there any way to switch (or I even do not know how to call it) to the XP
kind (style) for value locations?

Thank you
Vovan


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 03-01-2007
Jimmy Brush
 

Posts: n/a
Re: registry changes
Hello,

Your application's registry settings are being "moved" because you are
attempting to write to a restricted area of the registry
(HKEY_LOCAL_MACHINE) and your application does not have a Vista-style
manifest.

In Windows Vista, applications that do not request admin privileges (via a
"Windows needs your permission to continue" prompt) do not receive them.

The HKLM key requires admin permission to write to it.

Windows Vista realizes your application is not vista-compatible (because it
does not contain a vista manifest), and so "fakes out" your program by
silently moving the registry writes you make to HKLM to the
HKEY_CURRENT_USERS folder.

Thus, the data that your application "thinks" is being shared by everyone on
the computer is actually NOT being shared - each user has their own copy and
CANNOT see other user's data.

It is unacceptable to publish an application that relies on this "hack" in
order to function.

The best solution here is to stop using HKLM and use HKEY_CURRENT_USER
instead. You should also embed a Vista manifest into your application so
Windows Vista will stop doing these kinds of tricks for your application.


--
- JB
Microsoft MVP - Windows Shell/User

Windows Vista Support Faq
http://www.jimmah.com/vista/

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 03-01-2007
Dave R.
 

Posts: n/a
Re: registry changes

"Jimmy Brush" <JimmyBrush@discussions.microsoft.com> wrote in message
news:72ED7568-71CD-4BF8-B384-7DDA236D80E7@microsoft.com...
> Hello,
>
> Your application's registry settings are being "moved" because you are
> attempting to write to a restricted area of the registry
> (HKEY_LOCAL_MACHINE) and your application does not have a Vista-style
> manifest.
>
> In Windows Vista, applications that do not request admin privileges
> (via a "Windows needs your permission to continue" prompt) do not
> receive them.
>
> The HKLM key requires admin permission to write to it.
>
> Windows Vista realizes your application is not vista-compatible
> (because it does not contain a vista manifest), and so "fakes out"
> your program by silently moving the registry writes you make to HKLM
> to the HKEY_CURRENT_USERS folder.
>
> Thus, the data that your application "thinks" is being shared by
> everyone on the computer is actually NOT being shared - each user has
> their own copy and CANNOT see other user's data.
>
> It is unacceptable to publish an application that relies on this
> "hack" in order to function.
>
> The best solution here is to stop using HKLM and use HKEY_CURRENT_USER
> instead. You should also embed a Vista manifest into your application
> so Windows Vista will stop doing these kinds of tricks for your
> application.
>
>


So, what is the correct way / place to store global program settings so
they can be accessed and changed by all users without requiring the
users to have administrator credentials? Sounds like we need to go back
to the days of .ini files...

Regards,

Dave


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 03-01-2007
Jimmy Brush
 

Posts: n/a
Re: registry changes
From what I can tell, there is no place for global configuration that is
read/writable by all users on the system.

Files/registry settings created from one user account may be readable from
another account, but they generally aren't writable from other accounts
(only exception I know if is the Public folder, where users may put
documents/etc that they wish to be world read/writable).

In Windows Vista, one computer account is completely seperate from another,
and so one cannot modify stuff that another user account created.

I believe Microsoft recommends that you put "initial" configuration in a
system-wide storage place, and then store changes on a per-user basis.
Administrators are the only ones who can change system-wide configuration;
so if you want this to be an option, that's fine, but your program that
changes global config will have to request admin privileges from the user.


--
- JB
Microsoft MVP - Windows Shell/User

Windows Vista Support Faq
http://www.jimmah.com/vista/

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-03-2007
Tim
 

Posts: n/a
Re: registry changes
On Feb 7, 10:38 am, "Jimmy Brush"
<JimmyBr...@discussions.microsoft.com> wrote:
> From what I can tell, there is no place for global configuration that is
> read/writable by all users on the system.
>
> Files/registry settings created from one user account may be readable from
> another account, but they generally aren't writable from other accounts
> (only exception I know if is the Public folder, where users may put
> documents/etc that they wish to be world read/writable).
>
> In Windows Vista, one computer account is completely seperate from another,
> and so one cannot modify stuff that another user account created.
>
> I believe Microsoft recommends that you put "initial" configuration in a
> system-wide storage place, and then store changes on a per-user basis.
> Administrators are the only ones who can change system-wide configuration;
> so if you want this to be an option, that's fine, but your program that
> changes global config will have to request admin privileges from the user.
>
> --
> - JB
> Microsoft MVP - Windows Shell/User
>
> Windows Vista Support Faqhttp://www.jimmah.com/vista/


I understand what you are writing, but how are we (developers)
supposed to handle products that have a service and a Windows
application that must share certain settings?

Take a connection string to a database for example. Are you
suggesting that during installation, I create an entry in HKCU for the
service user account and an entry for the operator user account? What
happens when the connection string changes?

For instance, the database connection changes and the operator updates
HKCU for itself. Then, via TCP/IP the operator account communicates
with the service to update it's HKCU entries. This is a considerable
amount of work to accomplish the same thing with a certain margin of
error.

I'm not adverse to change, but without a good solution, I'm not sure I
even care to bother changing for Vista.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-03-2007
 

Posts: n/a
Re: registry changes
The administrator changes it. A user shouldn't. What if the user get it
wrong, get fustrated, goes home, noone can access the DB then.
"Tim" <info@exclamationsoft.com> wrote in message
news:1175612411.371364.291730@n76g2000hsh.googlegr oups.com...
> On Feb 7, 10:38 am, "Jimmy Brush"
> <JimmyBr...@discussions.microsoft.com> wrote:
>> From what I can tell, there is no place for global configuration that is
>> read/writable by all users on the system.
>>
>> Files/registry settings created from one user account may be readable
>> from
>> another account, but they generally aren't writable from other accounts
>> (only exception I know if is the Public folder, where users may put
>> documents/etc that they wish to be world read/writable).
>>
>> In Windows Vista, one computer account is completely seperate from
>> another,
>> and so one cannot modify stuff that another user account created.
>>
>> I believe Microsoft recommends that you put "initial" configuration in a
>> system-wide storage place, and then store changes on a per-user basis.
>> Administrators are the only ones who can change system-wide
>> configuration;
>> so if you want this to be an option, that's fine, but your program that
>> changes global config will have to request admin privileges from the
>> user.
>>
>> --
>> - JB
>> Microsoft MVP - Windows Shell/User
>>
>> Windows Vista Support Faqhttp://www.jimmah.com/vista/

>
> I understand what you are writing, but how are we (developers)
> supposed to handle products that have a service and a Windows
> application that must share certain settings?
>
> Take a connection string to a database for example. Are you
> suggesting that during installation, I create an entry in HKCU for the
> service user account and an entry for the operator user account? What
> happens when the connection string changes?
>
> For instance, the database connection changes and the operator updates
> HKCU for itself. Then, via TCP/IP the operator account communicates
> with the service to update it's HKCU entries. This is a considerable
> amount of work to accomplish the same thing with a certain margin of
> error.
>
> I'm not adverse to change, but without a good solution, I'm not sure I
> even care to bother changing for Vista.
>


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Registry Access Wayne microsoft.public.windows.vista.general 0 03-01-2007 03:12
REGISTRY CLEANER =?Utf-8?B?ZnJlZXdheTI5?= microsoft.public.windows.vista.general 18 02-28-2007 19:56
Search Registry =?Utf-8?B?UmFqS29obGk=?= microsoft.public.windows.vista.general 11 02-28-2007 19:53
Registry Editors Synapse Syndrome microsoft.public.windows.vista.general 4 02-28-2007 17:53
Registry Editing =?Utf-8?B?15jXnCDXlg==?= microsoft.public.windows.vista.administration accounts passwords 1 02-28-2007 14:11




All times are GMT +1. The time now is 16:47.




Driver Scanner - Free Scan Now

Vistaheads.com is part of the Heads Network. See also XPHeads.com and Win7Heads.com.


Funny Commercials to make you laugh :-)

Design by Vjacheslav Trushkin for phpBBStyles.com.
Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.2

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119