Actually looking at the DACL on CommonAppDataRegistry, a user won't be able to write to that. So so should write to teh file system CommonAppDataPath (which maps to documents and settings\all users) whose DACL allows users to write. You should write the CommonAppDataRegistry on application installation for installation option data. Everything else should go in the usr settings prefereable as different users will want different options potentially. To get to previous version settings just go to the registry directly and and read the settings then write them for the new version on installation
Regards
Richard Blewett - DevelopMentor
http://staff.develop.com/richardb/weblog
nntp://news.microsoft.com/microsoft.public.dotnet.languages.csharp/<uN4GV9JoEHA.132@TK2MSFTNGP09.phx.gbl>
Thanks to everyone for the responses.
Richard, since the Application.CommonAppDataRegistry puts information in a
key associated with an application version, is there a way to retrieve
common user data from keys created for previous versions of the application?
Thanks,
Dennis
"Richard Blewett [DevelopMentor]" <richardb@develop.com> wrote in message
news:OOkF9WHoEHA.3464@tk2msftngp13.phx.gbl...[color=blue]
> You should never store volatile application data in HKEY_LOCAL_MACHINE -
> you are guaranteeing that only administrators will be able to use your
> program
>
> The appropriate place to put shared data in the registry is exposed via
>
> System.Windows.Forms.Application.CommonAppDataRegi stry
>
> and user data via
>
> System.Windows.Forms.Application.UserAppDataRegist ry
>
> under both of these you should have keys for <companyname>\<product>
>
> this is the standard non-admin required way of storing information in the
> registry
>
> For storing files there are equivelent areas of the file system exposed by
> the Application class too.
>
> Regards
>
> Richard Blewett - DevelopMentor
>
>
http://staff.develop.com/richardb/weblog
>
>
> nntp://news.microsoft.com/microsoft.public.dotnet.languages.csharp/<2cdb0e60.0409212131.70d7e838@posting.google.com >
>
> Try using this to build impersonation into your program and then run
> it.
>
>
http://www.codeproject.com/csharp/cpimpersonation1.asp
>
> It might help to just use the source code already provided to see if
> you can access the regex. That way you dont have to modify your own
> code if it doesnt work, which i doubt.
>
> :-)
> Sushant
>
>
>
> "Dennis C. Drumm" <developer@primacode.com> wrote in message
> news:<#CCwhCCoEHA.1296@TK2MSFTNGP09.phx.gbl>...[color=green]
> > Can my program access the HKEY_LOCAL_MACHINE/Software section of the
> > registry when being used by a user with restricted rights (not with
> > admin
> > rights)?
> >
> > If so, how? I have a program that functions just fine when run by an
> > administrator but generates an exception when run by a restricted user.
> > The
> > program accesses the HKEY_LOCAL_MACHINE/Software section to set or get
> > application settings that are not user specific.
> >
> > Thanks,
> >
> > Dennis[/color]
>
> ---
> Incoming mail is certified Virus Free.
> Checked by AVG anti-virus system (
http://www.grisoft.com).
> Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
>
>
>
> [microsoft.public.dotnet.languages.csharp][/color]
---
Incoming mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com).
Version: 6.0.766 / Virus Database: 513 - Release Date: 17/09/2004
[microsoft.public.dotnet.languages.csharp]