[Qt-interest] QSettings registry path in Windows 7

Nikolay Moskvichev nikolay.moskvichev at gmail.com
Tue Sep 14 04:17:47 CEST 2010


Hello, Josh
14.09.2010 0:06 you wrote:
> Thanks for the hint! I've been reading up on this and it looks like I need 
> a .manifest file to get sufficient permission to modify global registry 
> settings. Is this correct? Does anyone know if I can do this with Qt and 

No, manifest don't give you permissions to write in to protected storage
automatically, user still should have rights for this. It stop
virtualisation, so your app get "acces denied" instead of write into
"crazy path".
I use manifest like yours and rc file like

#define MANIFEST 24
#define IDR_XPMANIFEST 1
IDR_XPMANIFEST MANIFEST "xpmanifest.xml"

It works for me in my old Borland apps, so IMHO it should works for you
in MinGW too.


> MinGW, or do I need Visual Studio? Is there a Qt way to do this (ie. in 
> the .pro file)? I've tried the following .manifest file (and including the 
> .manifest file in a .rc file) and Windows is still virtualizing the 
> registry. Any hints on how to do this in Qt with MinGW? Thanks!
> 
> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
>    <assemblyIdentity version="1.0.0.0"
>       processorArchitecture="X86"
>       name="myapp"
>       type="win32"/>
>    <description>My Software</description>
>    <!-- Identify the application security requirements. -->
>    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
>      <security>
>        <requestedPrivileges>
>          <requestedExecutionLevel
>            level="asInvoker"
>            uiAccess="false"/>
>          </requestedPrivileges>
>         </security>
>    </trustInfo>
> </assembly>
> 
> Josh
> 
>> Hello, Josh
>> 12.09.2010 1:55 you wrote:
>>> Hello all,
>>>
>>> I just noticed that when saving QSettings to Native Format at the System
>>> Scope, Windows 7 doesn't store my registry settings to:
>>> HKEY_LOCAL_MACHINE\Software\MySoft
>>> but to some crazy path like:
>>> HKEY_USERS\S-1-5-21-1227889133-3943895522-1993576771-1001\Software\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\MyApp
>>>
>>> The problem being that when another user installs my app, they can't
>>> access that registry setting (that's why I chose SystemScope, but I want
>>> this setting to be across the whole machine). Am I missing something? Is
>>> this a known bug? Thoughts on how to fix it?
>>>
>>> Thanks!
>>>
>>> Josh
>>
>>
>> This is how MS virtualisation works. There is nothing to do with Qt.
>>
>> http://msdn.microsoft.com/en-us/library/aa965884(VS.85).aspx
>>
>> _______________________________________________
>> Qt-interest mailing list
>> Qt-interest at trolltech.com
>> http://lists.trolltech.com/mailman/listinfo/qt-interest
>>




More information about the Qt-interest-old mailing list