Qt World Summit: Register Today!

using the installer creator

  • Based on input from some of you, I'm looking into using an installer to handle distribution of an app rather than creating a static executable.

    I'm trying to follow the steps in this tutorial, and am on this step

    When I run the creator from the command line, I get this error:

    Caught exception: Cannot open component script at "packages\com.vendor.product\meta\installscript.qs".

    I'd assumed from the tutorial that this script was something already provided, since I saw no mention of creating one. Do I in fact need to supply this, and if so, what does it need to do?


  • @mzimmers

    I never bothered with the tutorial but used the IFW examples, which should be a sub-folder where you have installed the installer framework.

    Just saw that there is also everything for the tutorial example. There is also the installscript.qs file.

  • @koahnig thanks. I found the file and copied it to what I believe is the correct location:


    but I'm still getting the same error, which makes me wonder whether I'm running from the correct location?


    (Sorry for the lousy pic but the error is the same as posted above.)

  • @mzimmers

    Did you try to run the orginal tutorial example as is?

    This should work. Form there I would change step by step to your test. Or compare all files directly, whatever is easier.

  • I am also having this problem. If someone could explain how the hell scripts are integrated in to installers/repos that would be awesome.

  • @mzimmers said in using the installer creator:

    but I'm still getting the same error

    wrong extension. it's .qs, not .js

  • @VRonin good eye there. I found the right file and also grabbed page.ui and license.txt since binarycreator insisted on their presence (I don't think this was mentioned in the tutorial). The builder now works.

    Thanks to everyone who helped.

  • One follow-up question: the .qs file I grabbed creates a dynamic page, which I don't need and would like to remove from the installer. I can't find a setting for the configuration file that would disable this; should I just remove it from the .qs file?
    OK, I lied; I have two more questions:

    1. can you scale the logo image, perhaps with a stylesheet?
    2. I tried using a shortcut for my executable in the data subdirectory, but it didn't work. Is there a setting somewhere to tell the installer builder to follow a link when creating the installation package? I looked at the command options but didn't see anything.


  • I just realized that my installer isn't creating a shortcut. I'm trying to use the example on this page as such:

    if (systemInfo.productType === "windows") 
    	component.addOperation("CreateShortcut", "@TargetDir@/APGDupontProvisioner.exe", "@StartMenuDir@/APGDupontProvisioner.lnk");

    But I get an error when I run binarycreator:

    [3231] Warning: QFile::remove: Empty or null file name
    Caught exception: Exception while loading component script at 
    ReferenceError: component is not defined

    Any idea why I'm getting this error? TargetDir is defined in config.xml, so I don't think that's the problem.


  • @mzimmers

    I have at least one more parameter defined for instance

            component.addOperation("CreateShortcut", "@TargetDir@/@MaintenanceToolName@.exe", "@StartMenuDir@/UnInstall.lnk",

    Hope that helps.

  • No, I get the same error. Does it matter where within the file this code resides?

    Also, is there any more definitive documentation on this facility? "boolean addOperation(string operation, stringlist parameters)" isn't all that thorough.


  • @mzimmers

    Sorry, no clue on this. I did that part already a while ago and it works AFAIK. Also when doing this I was happy when it was working.
    The documentation is indeed not to the standards to say the least.

  • Anyone have any ideas? Or can share a qs file that properly creates a shortcut?


  • Gotta bump this, in case any fresh minds see it.

Log in to reply