[Development] qt installer - user register access

Jenssen Tim Tim.Jenssen at digia.com
Wed Sep 11 12:12:35 CEST 2013


Hi Richard,

at the moment this usecase is not implemented and a shortcut to get the list via the installer.value functions sounds wrong to me. So please create a feature request for that at jira.

As a workaround you can use the execute feature:


registryCallOutput = installer.execute("reg", new Array("QUERY", "HKLM\\Software\\Microsoft\\Office"))[0]

registryElements = registryCallOutput.split("\n")


for( var i = 0; i < registryElements.length - 1; i++)

{

  print(registryElements[i]);

}


________________________________
Von: development-bounces+tim.jenssen=digia.com at qt-project.org [development-bounces+tim.jenssen=digia.com at qt-project.org]" im Auftrag von "Richard Gerd Kuesters [richard at humantech.com.br]
Gesendet: Donnerstag, 5. September 2013 19:05
An: development at qt-project.org
Betreff: Re: [Development] qt installer - user register access

Thank you Jenssen!

I got all the way through this, but my problem is a little more specific. Well, let's see if I can explain myself a little better.

We develop Autodesk plugins for our clients, mostly for their AutoCAD suite. So, we need to detect if there's a installation present in the machine and it's version, since we provide the facility to install for more then one instance of the program (let's say, versions 2011, 2012, 2013, etc).

So, my routine is quite simple: I search for "HKEY_CURRENT_USER\Software\Autodesk\AutoCAD" in the registry tree and need to get its children directories, as a list or something, like "R18.1", "R19.0", etc.

I'm sending a screenshot attached. I hope there's a way to retrieve that information :)


Best regards,
Richard.

On 09/04/2013 12:20 PM, Jenssen Tim wrote:
See GlobalConfig at the operation documentation http://doc-snapshot.qt-project.org/qtifw-master/operations.html

function Component() {}

Component.prototype.createOperations = function()
{
  // call the base create operations function
  component.createOperations();    component.addOperation("GlobalConfig", <your_registry_path_on_windows_or_filename_on_*x>, <key>, <value>)
}

This creates an operation which saves the old value (for unregistration) and set the new value.



If you only want to check some variable to have some different behaviour in the installer use:

installer.value(<your_registry_path> + "/" + <your_key>, <your_default_value>)


Hopefully this helps.

Cheers Tim

________________________________
Von: development-bounces+tim.jenssen=digia.com at qt-project.org<mailto:development-bounces+tim.jenssen=digia.com at qt-project.org> [development-bounces+tim.jenssen=digia.com at qt-project.org<mailto:development-bounces+tim.jenssen=digia.com at qt-project.org>]" im Auftrag von "Richard Gerd Kuesters [richard at humantech.com.br<mailto:richard at humantech.com.br>]
Gesendet: Mittwoch, 4. September 2013 15:05
An: development at qt-project.org<mailto:development at qt-project.org>
Betreff: [Development] qt installer - user register access

Hi all!

I've been working on top of Qt installer framework in the last week, so I could drop the usage of NSIS. But, to do that, I need to access, in Windows, the user registry (ex. HKEY_FOOBAR).

Is there a way to do this? I've search all over the place, and didn't find any kind of example or code that can help me with that. Or maybe I didn't dig enough :)

If someone can give me a hint, I'll be much obliged.


Kind regards,
Richard.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130911/22d9c13f/attachment.html>


More information about the Development mailing list