Discussion:
[Interest] Qt Installer Framework
Иван Комиссаров
2013-01-23 12:09:02 UTC
Permalink
Hello. Is there anybody familiar with the Qt Installer Framework? I want to create simple offline installer, but i can't remove "Package manager" and "Update components" from the uninstaller (i.e. maintenance tool). Can anyone help me?

Иван Комиссаров
Karsten Heimrich
2013-01-23 12:54:54 UTC
Permalink
Hi Iwan,

On 23.01.2013 13:09, Иван Комиссаров wrote:
> Hello. Is there anybody familiar with the Qt Installer Framework? I want to create simple offline installer, but i can't remove "Package manager" and "Update components" from the uninstaller (i.e. maintenance tool). Can anyone help me?
>
right now that's not possibe. The only option would be to comment all
depending code in installerbasecommons.cpp. A more generic approach
would be to implement a config setting, for example as done for hiding
the repository settings tab.

--Karsten
Иван Комиссаров
2013-01-23 13:41:52 UTC
Permalink
Hm, that's sad:)

Next question - how can i retranslate my license? In the tutorial example, retranslated license is simply put near the license.txt. I did the same thing, but my license is not loaded.
I also tried to add new license entries (with xml:lang attribute) into the package.xml, but as a result i got both licenses in my installer.

Иван Комиссаров

23.01.2013, в 16:54, Karsten Heimrich <***@digia.com> написал(а):

> Hi Iwan,
>
> On 23.01.2013 13:09, Иван Комиссаров wrote:
>> Hello. Is there anybody familiar with the Qt Installer Framework? I want to create simple offline installer, but i can't remove "Package manager" and "Update components" from the uninstaller (i.e. maintenance tool). Can anyone help me?
>>
> right now that's not possibe. The only option would be to comment all
> depending code in installerbasecommons.cpp. A more generic approach
> would be to implement a config setting, for example as done for hiding
> the repository settings tab.
>
> --Karsten
> _______________________________________________
> Interest mailing list
> ***@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
Karsten Heimrich
2013-01-23 14:50:36 UTC
Permalink
Hi,

On 23.01.2013 14:41, Иван Комиссаров wrote:
> Hm, that's sad:)
>
> Next question - how can i retranslate my license? In the tutorial example, retranslated license is simply put near the license.txt. I did the same thing, but my license is not loaded.
> I also tried to add new license entries (with xml:lang attribute) into the package.xml, but as a result i got both licenses in my installer.
That would be best answerd by Niels, adding him as cc.

> Иван Комиссаров
>
> 23.01.2013, в 16:54, Karsten Heimrich <***@digia.com> написал(а):
>
>> Hi Iwan,
>>
>> On 23.01.2013 13:09, Иван Комиссаров wrote:
>>> Hello. Is there anybody familiar with the Qt Installer Framework? I want to create simple offline installer, but i can't remove "Package manager" and "Update components" from the uninstaller (i.e. maintenance tool). Can anyone help me?
>>>
>> right now that's not possibe. The only option would be to comment all
>> depending code in installerbasecommons.cpp. A more generic approach
>> would be to implement a config setting, for example as done for hiding
>> the repository settings tab.
>>
>> --Karsten
>> _______________________________________________
>> Interest mailing list
>> ***@qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/interest
>>
> _______________________________________________
> Interest mailing list
> ***@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
Иван Комиссаров
2013-01-23 15:44:54 UTC
Permalink
I already found out, thanks. Names for localized licenses are constructed using main file (license.txt) and base names of the *.qm files enumerated in <Translations> section. Not very intuitive, documentation should mention that somehow.

Also, i think that UTF-8 codec should be used to read license files instead of default codec (codec for locale). Should i create an issue at bugtracker or just send a patch?

Иван Комиссаров

23.01.2013, в 18:50, Karsten Heimrich <***@digia.com> написал(а):

> Hi,
>
> On 23.01.2013 14:41, Иван Комиссаров wrote:
>> Hm, that's sad:)
>>
>> Next question - how can i retranslate my license? In the tutorial example, retranslated license is simply put near the license.txt. I did the same thing, but my license is not loaded.
>> I also tried to add new license entries (with xml:lang attribute) into the package.xml, but as a result i got both licenses in my installer.
> That would be best answerd by Niels, adding him as cc.
>
>> Иван Комиссаров
>
Karsten Heimrich
2013-01-23 16:17:59 UTC
Permalink
Hi,

On 23.01.2013 16:44, Иван Комиссаров wrote:
> I already found out, thanks. Names for localized licenses are constructed using main file (license.txt) and base names of the *.qm files enumerated in <Translations> section. Not very intuitive, documentation should mention that somehow.
>
> Also, i think that UTF-8 codec should be used to read license files instead of default codec (codec for locale). Should i create an issue at bugtracker or just send a patch?
>
Please file a bug report, and of course patches are welcome :) . Please
note that they need to go to gerrit, see:
http://qt-project.org/wiki/Gerrit-Introduction

-- Karsten
Иван Комиссаров
2013-01-24 07:11:29 UTC
Permalink
Here are they
https://bugreports.qt-project.org/browse/QTIFW-207
https://codereview.qt-project.org/#change,45647

Whom should i add as a reviewer?

Иван Комиссаров

23.01.2013, в 20:17, Karsten Heimrich <***@digia.com> написал(а):

> Hi,
>
> Please file a bug report, and of course patches are welcome :) . Please
> note that they need to go to gerrit, see:
> http://qt-project.org/wiki/Gerrit-Introduction
>
> -- Karsten
Jenssen Tim
2013-01-24 07:41:48 UTC
Permalink
Just add Karsten, Niels or me or all of us three 😊

Von meinem Windows Phone gesendet
________________________________
Von: ИваМ КПЌОссарПв<mailto:***@gmail.com>
Gesendet: ‎24.‎01.‎2013 08:11
An: Heimrich Karsten<mailto:***@digia.com>
Cc: Weber Niels<mailto:***@digia.com>; ***@qt-project.org<mailto:***@qt-project.org>
Betreff: Re: [Interest] Qt Installer Framework

Here are they
https://bugreports.qt-project.org/browse/QTIFW-207
https://codereview.qt-project.org/#change,45647

Whom should i add as a reviewer?

ИваМ КПЌОссарПв

23.01.2013, в 20:17, Karsten Heimrich <***@digia.com> МапОсал(а):

> Hi,
>
> Please file a bug report, and of course patches are welcome :) . Please
> note that they need to go to gerrit, see:
> http://qt-project.org/wiki/Gerrit-Introduction
>
> -- Karsten


_______________________________________________
Interest mailing list
***@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
Иван Комиссаров
2013-01-24 13:33:06 UTC
Permalink
Thank you for reviewing patches. I have 2 more questions. Is it possible to remove the dir i want to install app to? I found RemoveTargetDir variable, but setting it from config.xml makes no effect. Also i can't find code that remove the dir:)

And second questoin - i want to install my app into the "C:/Program Files" folder, however, in 64bit system that folder is named Program Files (x86) for 32bit app. Is it possible somehow to use system variables (qgetenv?) in an xml script, so i could write something like <TargetDir>@Program Files@/myinstall</TargetDir> ? I see code that searches in registry, but not in system variables...

ИваМ КПЌОссарПв

24.01.2013, в 11:41, Jenssen Tim <***@digia.com> МапОсал(а):

> Just add Karsten, Niels or me or all of us three 😊
>
> Von meinem Windows Phone gesendet
Sandro Andrade
2013-01-24 14:27:53 UTC
Permalink
Has anyone managed to build QIF with mingw ? I got a bunch of build
errors when doing that.
Or is it intended to be used only with MSVC ?

Thanks,
--
Sandro

On Thu, Jan 24, 2013 at 10:33 AM, Иван Комиссаров <***@gmail.com> wrote:
> Thank you for reviewing patches. I have 2 more questions. Is it possible to
> remove the dir i want to install app to? I found RemoveTargetDir variable,
> but setting it from config.xml makes no effect. Also i can't find code that
> remove the dir:)
>
> And second questoin - i want to install my app into the "C:/Program Files"
> folder, however, in 64bit system that folder is named Program Files (x86)
> for 32bit app. Is it possible somehow to use system variables (qgetenv?) in
> an xml script, so i could write something like <TargetDir>@Program
> Files@/myinstall</TargetDir> ? I see code that searches in registry, but not
> in system variables...
>
> Иван Комиссаров
>
> 24.01.2013, в 11:41, Jenssen Tim <***@digia.com> написал(а):
>
> Just add Karsten, Niels or me or all of us three 😊
>
> Von meinem Windows Phone gesendet
>
>
>
>
> _______________________________________________
> Interest mailing list
> ***@qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
Karsten Heimrich
2013-01-24 15:11:38 UTC
Permalink
Hi Sandro,

On 24.01.2013 15:27, Sandro Andrade wrote:
> Has anyone managed to build QIF with mingw ? I got a bunch of build
> errors when doing that.
> Or is it intended to be used only with MSVC ?
Right now it's only possible to build with msvc on windows, though
there's a patch pending which will add support for mingw as well. See:
https://codereview.qt-project.org/#change,45372

-- Karsten
Karsten Heimrich
2013-01-24 15:36:14 UTC
Permalink
Hi Ivan,

On 24.01.2013 14:33, ???? ?????????? wrote:
> Thank you for reviewing patches. I have 2 more questions. Is it
> possible to remove the dir i want to install app to? I found
> RemoveTargetDir variable, but setting it from config.xml makes no
> effect. Also i can't find code that remove the dir:)
>
What do you mean with target dir? I guess the question goes into the
direction of an already existing directory?

> And second questoin - i want to install my app into the "C:/Program
> Files" folder, however, in 64bit system that folder is named Program
> Files (x86) for 32bit app. Is it possible somehow to use system
> variables (qgetenv?) in an xml script, so i could write something
> like <TargetDir>@Program Files@/myinstall</TargetDir> ? I see code
> that searches in registry, but not in system variables...

If not already there, add to your root component should an
installscript.qs. Inside there, specify a constructor like this:

// constructor
function Component()
{
var programFiles = installer.environmentVariable("ProgramFiles");
if (programFiles != "")
installer.setValue("TargetDir", programFiles + "/foo");
}

I've tried this here and it sets the "TargetDir" variable to either
"C:\Program Files" or "C:\Program Files (x86)". Please note that by
default spaces are not allowed inside the target path, you can overwrite
the behavior by setting <AllowSpaceInPath>true</AllowSpaceInPath> in
your config.xml. See also:
http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-globalconfig.html#summary-of-configuration-settings

-- Karsten
Иван Комиссаров
2013-01-24 16:36:36 UTC
Permalink
24.01.2013, × 19:36, Karsten Heimrich <***@digia.com> ÎÁÐÉÓÁÌ(Á):
>
> Hi Ivan,
>
> On 24.01.2013 14:33, é×ÁÎ ëÏÍÉÓÓÁÒÏ× wrote:
>> Thank you for reviewing patches. I have 2 more questions. Is it possible to remove the dir i want to install app to? I found RemoveTargetDir variable, but setting it from config.xml makes no effect. Also i can't find code that remove the dir:)
>>
> What do you mean with target dir? I guess the question goes into the direction of an already existing directory?

Yes, i mean when i try to install in an existing directory (which contains previous installation). The problem is that i have one plugin renamed and when i simply install into that dir, old file is not rewritten/deleted and i get 2 copies of same plugin. I want to remove all contents of the directory i install to before writing new files. Is that possible?
Yes, i can remove that file manually using script, but it's not the best idea as i think.

>
>> And second questoin - i want to install my app into the "C:/Program Files" folder, however, in 64bit system that folder is named Program Files (x86) for 32bit app. Is it possible somehow to use system variables (qgetenv?) in an xml script, so i could write something like <TargetDir>@Program Files@/myinstall</TargetDir> ? I see code that searches in registry, but not in system variables...
>
> If not already there, add to your root component should an installscript.qs. Inside there, specify a constructor like this:
>
> // constructor
> function Component()
> {
> var programFiles = installer.environmentVariable("ProgramFiles");
> if (programFiles != "")
> installer.setValue("TargetDir", programFiles + "/foo");
> }
>
> I've tried this here and it sets the "TargetDir" variable to either "C:\Program Files" or "C:\Program Files (x86)". Please note that by default spaces are not allowed inside the target path, you can overwrite the behavior by setting <AllowSpaceInPath>true</AllowSpaceInPath> in your config.xml. See also: http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-globalconfig.html#summary-of-configuration-settings

Thank you, I'll try this trick tomorrow.

>
> -- Karsten
>

é×ÁÎ ëÏÍÉÓÓÁÒÏ×
Joshua Grauman
2013-01-24 23:25:17 UTC
Permalink
Hi,

I just found out about the Qt Installer Framework and so downloaded and
compiled it. On linking, I see it is trying to link to QFSFileEngine,
which isn't in Qt5. Is a Qt5 version of qif planned? Does anyone have it
working in Qt5? Thanks!

Josh

>
> 24.01.2013, × 19:36, Karsten Heimrich <***@digia.com> ÎÁÐÉÓÁÌ(Á):
>>
>> Hi Ivan,
>>
>> On 24.01.2013 14:33, é×ÁÎ ëÏÍÉÓÓÁÒÏ× wrote:
>>> Thank you for reviewing patches. I have 2 more questions. Is it possible to remove the dir i want to install app to? I found RemoveTargetDir variable, but setting it from config.xml makes no effect. Also i can't find code that remove the dir:)
>>>
>> What do you mean with target dir? I guess the question goes into the direction of an already existing directory?
>
> Yes, i mean when i try to install in an existing directory (which contains previous installation). The problem is that i have one plugin renamed and when i simply install into that dir, old file is not rewritten/deleted and i get 2 copies of same plugin. I want to remove all contents of the directory i install to before writing new files. Is that possible?
> Yes, i can remove that file manually using script, but it's not the best idea as i think.
>
>>
>>> And second questoin - i want to install my app into the "C:/Program Files" folder, however, in 64bit system that folder is named Program Files (x86) for 32bit app. Is it possible somehow to use system variables (qgetenv?) in an xml script, so i could write something like <TargetDir>@Program Files@/myinstall</TargetDir> ? I see code that searches in registry, but not in system variables...
>>
>> If not already there, add to your root component should an installscript.qs. Inside there, specify a constructor like this:
>>
>> // constructor
>> function Component()
>> {
>> var programFiles = installer.environmentVariable("ProgramFiles");
>> if (programFiles != "")
>> installer.setValue("TargetDir", programFiles + "/foo");
>> }
>>
>> I've tried this here and it sets the "TargetDir" variable to either "C:\Program Files" or "C:\Program Files (x86)". Please note that by default spaces are not allowed inside the target path, you can overwrite the behavior by setting <AllowSpaceInPath>true</AllowSpaceInPath> in your config.xml. See also: http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-globalconfig.html#summary-of-configuration-settings
>
> Thank you, I'll try this trick tomorrow.
>
>>
>> -- Karsten
>>
>
> é×ÁÎ ëÏÍÉÓÓÁÒÏ×
>
>
Heimrich Karsten
2013-01-25 06:23:44 UTC
Permalink
Hi,

> Hi,
> I just found out about the Qt Installer Framework and so downloaded and
> compiled it. On linking, I see it is trying to link to QFSFileEngine,
> which isn't in Qt5. Is a Qt5 version of qif planned? Does anyone have it
> working in Qt5? Thanks!
> Josh

right now it does only compile with Qt5 - if - you build Qt yourself and with the configure switch "-developer-build". Important thing is to get the private Qt Headers for the file engine stuff. Please note that we will break these at any point in time, so you shouldn't rely to much on the fact that it builds right now.

The get Qt5, please follow: http://qt-project.org/wiki/Building_Qt_5_from_Git

-- Karsten
Иван Комиссаров
2013-01-25 07:48:51 UTC
Permalink
Hello again!

Your way with "ProgramFiles" variable works, thanks very much.

So, can anyone help me how can i remove installation directory if it's not empty before installing?

Also, it seem i found another bug under Windows. I created 2 installers with different versions (say, 1 and 2), installed them to 2 different folders (c:/app-1 and c:/app-2), created 2 different entries in start menu ("App-1" and "App-2"). However, in Programs and Features i see only one installed program (the last one) named "App". Attempt to uninstall removes only the last installed version and i can't remove second version from Programs & Features anymore. Is this a bug? Shouldn't (at least) version be considered when registering application in Programs and Features? Or maybe you should register all apps with different install paths as different entries?

Иван Комиссаров
Heimrich Karsten
2013-01-28 06:33:12 UTC
Permalink
Hi Ivan,

> Your way with "ProgramFiles" variable works, thanks very much.

Great!

> So, can anyone help me how can i remove installation directory if it's not empty before installing?

I'm not sure, but there was an undocumented "RemoveTargetDir" variable to be set. Maybe Tim or Niels can comment a bit more on that!


> Also, it seem i found another bug under Windows. I created 2 installers with different versions (say, 1 and 2),
> installed them to 2 different folders (c:/app-1 and c:/app-2), created 2 different entries in start menu ("App-1"
> and "App-2"). However, in Programs and Features i see only one installed program (the last one) named
> "App". Attempt to uninstall removes only the last installed version and i can't remove second version from
> Programs & Features anymore. Is this a bug? Shouldn't (at least) version be considered when registering
> application in Programs and Features? Or maybe you should register all apps with different install paths as
> different entries?

Not sure how we handle that, but i guess that behavior is correct. In case of two different uninstall tools, both called "App", one entry will overwrite the other (even if version is different). Anyway, I need to lookup MSDN for the right behavior, in the meantime it wouldn't hurt if you could file an issue. Better we close it later than to forget to fix it if it's broken.

-- Karsten
Иван Комиссаров
2013-01-29 09:12:43 UTC
Permalink
> Not sure how we handle that, but i guess that behavior is correct. In case of two different uninstall tools, both called "App", one entry will overwrite the other (even if version is different). Anyway, I need to lookup MSDN for the right behavior, in the meantime it wouldn't hurt if you could file an issue. Better we close it later than to forget to fix it if it's broken.
>

Here i created an issue with possible options how to act when user wants to install app second time: https://bugreports.qt-project.org/browse/QTIFW-211 Did i miss anyting?

Иван Комиссаров
Kalinowski Maurice
2013-01-29 09:21:28 UTC
Permalink
>
> > Not sure how we handle that, but i guess that behavior is correct. In case of
> two different uninstall tools, both called "App", one entry will overwrite the
> other (even if version is different). Anyway, I need to lookup MSDN for the
> right behavior, in the meantime it wouldn't hurt if you could file an issue.
> Better we close it later than to forget to fix it if it's broken.
> >
>
> Here i created an issue with possible options how to act when user wants to
> install app second time: https://bugreports.qt-project.org/browse/QTIFW-
> 211 Did i miss anyting?

I remember that this has been under discussion once. One question would be how other solutions (NSIS, ...) handle this. IIRC they behave the same and simply overwrite the current setup. This is most likely based on the assumption that a user knows what is installed on his/her machine.

BR,
Maurice
Иван Комиссаров
2013-01-29 10:50:56 UTC
Permalink
In fact, i'm comparing different installer here, Qt Installer is not the only option i consider.
I see same behavior in an INNO Setup, however MSI behaves different - it doesn't allow to install program twice.

Иван Комиссаров

29.01.2013, в 13:21, Kalinowski Maurice <***@digia.com> написал(а):
>
> I remember that this has been under discussion once. One question would be how other solutions (NSIS, ...) handle this. IIRC they behave the same and simply overwrite the current setup. This is most likely based on the assumption that a user knows what is installed on his/her machine.
>
> BR,
> Maurice
>
Alex Malyushytskyy
2013-01-30 02:56:27 UTC
Permalink
> I see same behavior in an INNO Setup, however MSI behaves different - it doesn't allow to install program twice.

It all depends on the design of your installation: product and package codes.
You can have multiple products with the same name ( for example
different version of the products ) installed on the same computer and
function without any problem if they have different GUID.

Regards,

Alex
Иван Комиссаров
2013-01-25 14:29:51 UTC
Permalink
Hm, i'm trying to create online-only installer now and i get a problem that installer doesn't download my data directory.
In the log i see following error:
Error-Exception: "Found a binary data file, but we are the installer and we should read the binary resource from our very own binary!"
Any thoughts?

é×ÁÎ ëÏÍÉÓÓÁÒÏ×
Heimrich Karsten
2013-01-28 06:39:32 UTC
Permalink
Hi,

Hm, i'm trying to create online-only installer now and i get a problem that installer doesn't download my data directory.
In the log i see following error:

Error-Exception: "Found a binary data file, but we are the installer and we should read the binary resource from our very own binary!"

this has nothing todo with your problem, please make sure to have something like this in your component script:

// constructor
function Component()
{
addDownloadable("myData.7z");
}

or to put the <DownloadableArchives>myData.7z</DownloadableArchives> in the right package.xml. Seems documentation lacks a bit of information for offline installers? Tim, Niels?

http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-component-description.html

-- Karsten
Иван Комиссаров
2013-01-28 12:36:32 UTC
Permalink
Hello!

Yes, documentation really misses that...

I didn't get one thing - as long as repogen creates .7z for each folder within package data dir, why should i manually add that list of 7z files? Repogen can create a file that lists which files should be downloaded instead of that manual scripting.

Also, workflow "1. generate repo 2. fix package.xml 3. regenerate repo 4. create installer" looks awkward too, steps 2 and 3 are unnecessary. Or am i missing something?

é×ÁÎ ëÏÍÉÓÓÁÒÏ×

28.01.2013, × 10:39, Heimrich Karsten <***@digia.com> ÎÁÐÉÓÁÌ(Á):

> this has nothing todo with your problem, please make sure to have something like this in your component script:
>
> // constructor
> function Component()
> {
> addDownloadable("myData.7z");
> }
>
> or to put the <DownloadableArchives>myData.7z</DownloadableArchives> in the right package.xml. Seems documentation lacks a bit of information for offline installers? Tim, Niels?
>
> http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-component-description.html
>
> -- Karsten
>
Jenssen Tim
2013-01-28 13:57:19 UTC
Permalink
> Von: interest-bounces+tim.jenssen=***@qt-project.org [interest-bounces+tim.jenssen=***@qt-project.org]" im Auftrag von "Иван Комиссаров [***@gmail.com]
> Gesendet: Montag, 28. Januar 2013 13:36
> An: Heimrich Karsten
> Cc: ***@qt-project.org
> Betreff: Re: [Interest] Qt Installer Framework
>
>
> I didn't get one thing - as long as repogen creates .7z for each folder within package data dir, why should i manually add that list of 7z files? Repogen can create a file that lists which files should be downloaded instead of that manual scripting.

Yes you are right that is not as comfortable as it could be. The feature that directories are compressed came as an additional feature some time after we had the possiblity to download updates from a repository.

But some of the ifw users are deciding case by case which file should be downloaded inside the script. For example 32/64bit and that is the reason why we doesn't generate the downloadableArchive list automaticaly. Not sure what the best way would be to make both usecases possible. Maybe something like if there is no downloadableArchive value in xml or script then just generate that from the content/data directory of that component. I created a task on jira: https://bugreports.qt-project.org/browse/QTIFW-210 and I introduce you to vote on it ;)


> Also, workflow "1. generate repo 2. fix package.xml 3. regenerate repo 4. create installer" looks awkward too, steps 2 and 3 are unnecessary. Or am i missing something?
Sorry don't understand that. In which case do you have these 4 steps?
franki
2013-01-28 14:01:46 UTC
Permalink
Hello

Can I join discussion?
I'm creating offline installer, I compiled framework with static Qt 4.8.4 on
Windows XP, with MSVC according to:
http://doc-snapshot.qt-project.org/qtifw-1.2/ifw-tutorial.html
I have cloned installer framework on Friday last week.

I'm aware of syntax change with binarycreator.exe

Installer works as expected.
Problem is that the menu shortcut is not created under my windows XP (SP3)
I have
<StartMenuDir>Cute App</StartMenuDir>
in config.xml
And question about this is asked during installation, but nothing happens.

I have tested my app and tutorial example, both of them does not create menu
shortcut.
In Install log there is nothing more than:
"Found a binary data file, but we are the installer and we should read the
binary resource from our very own binary!" - which was mentioned before.

Can someone give me a hint?

best regards
Marek
Jenssen Tim
2013-01-28 14:23:31 UTC
Permalink
> Von: interest-bounces+tim.jenssen=***@qt-project.org [interest-bounces+tim.jenssen=***@qt-project.org]&quot; im Auftrag von &quot;franki [***@franki.eu.org]
> Gesendet: Montag, 28. Januar 2013 15:01
> An: ***@qt-project.org
> Betreff: Re: [Interest] Qt Installer Framework

> Problem is that the menu shortcut is not created under my windows XP (SP3)
> I have
> <StartMenuDir>Cute App</StartMenuDir>
> in config.xml
>And question about this is asked during installation, but nothing happens.

There is something happening ... it saves the value on the installer (object) and later if you are creating an real shortcut you can use that saved variable.

Component.prototype.createOperations = function()
{
// call the base createOperations
component.createOperations();
if ( installer.value("os") == "win" )
{
component.addOperation( "CreateShortcut",
"@TargetDir@\\QtCreator\\bin\\qtcreator.exe",
"@StartMenuDir@/Qt Creator.lnk", // here we are using the saved installer.value("StartMenuDir")
"workingDirectory=@homeDir@" );
}
}


PS: Please create bugtracker tasks for unclear/missing documentation in the ifw like other problems. - a general "missing documentation for ifw" doesn't worked in the past ;)
franki
2013-01-28 15:16:01 UTC
Permalink
Dnia poniedziałek, 28 stycznia 2013 o 15:23:31 Jenssen Tim napisał(a):
> > Von: interest-bounces+tim.jenssen=***@qt-project.org
> There is something happening ... it saves the value on the installer
> (object) and later if you are creating an real shortcut you can use that
> saved variable.
>
> Component.prototype.createOperations = function()
> {
> // call the base createOperations
> component.createOperations();
> if ( installer.value("os") == "win" )
> {
> component.addOperation( "CreateShortcut",
>
> "@TargetDir@\\QtCreator\\bin\\qtcreator.exe", "@StartMenuDir@/Qt
> Creator.lnk", // here we are using the saved
> installer.value("StartMenuDir") "workingDirectory=@homeDir@" );
> }
> }

Thanks this has helped.

There is one more thing, I set option
<Default>true</Default> in package.xml

which should select/preselect component as default, but when installation
starts component is not selected until user presses button "default".
I'm not sure if this is desired behavior, component should be selected by
default without user interaction...

>
> PS: Please create bugtracker tasks for unclear/missing documentation in the
> ifw like other problems. - a general "missing documentation for ifw"
> doesn't worked in the past ;)

I will do that.

best regards
Marek
Jenssen Tim
2013-01-28 15:59:13 UTC
Permalink
> There is one more thing, I set option
> <Default>true</Default> in package.xml

Yes this should be preselected then and this should work and worked last time. Maybe you can create a task on jira and add a very small package directory where I can follow it step by step to see the problem.
franki
2013-01-28 16:16:59 UTC
Permalink
Dnia poniedziałek, 28 stycznia 2013 o 16:59:13 Jenssen Tim napisał(a):
> > There is one more thing, I set option
> > <Default>true</Default> in package.xml
>
> Yes this should be preselected then and this should work and worked last
> time. Maybe you can create a task on jira and add a very small package
> directory where I can follow it step by step to see the problem.

sure, I've just created Qt Bug Tracker account,
will complete this tomorrow.

Marek
Heimrich Karsten
2013-01-29 06:35:39 UTC
Permalink
Hi,

>> There is one more thing, I set option
>> <Default>true</Default> in package.xml

>Yes this should be preselected then and this should work and worked last time.
> Maybe you can create a task on jira and add a very small package directory where
> I can follow it step by step to see the problem.

I've seen this before too - I guess you have only one component in your installer? We had the bug show up at least once with the standalone Creator installer... There should already be an bug report.

-- Karsten
Loading...