Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. How to create a .qs file

How to create a .qs file

Scheduled Pinned Locked Moved Unsolved General and Desktop
29 Posts 5 Posters 12.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mrjj
    Lifetime Qt Champion
    wrote on 18 Jun 2017, 09:33 last edited by
    #2

    hi
    Its mentioned here in this example
    http://doc.qt.io/qtinstallerframework/qt-installer-framework-openreadme-example.html

    I think you just make it by hand. seems to be a script file.

    1 Reply Last reply
    4
    • T Offline
      T Offline
      tomy
      wrote on 18 Jun 2017, 10:28 last edited by tomy
      #3

      Thank you for the answer.

      My config.xml is the same as the Docs:

      <?xml version="1.0" encoding="UTF-8"?>
      -<Installer>
      <Name>Qt Calculator</Name>
      <Version>1.4.0</Version>
      <Title>Qt Framework Installer</Title>
      <Publisher>Abbasi</Publisher>
      <StartMenuDir>Super App</StartMenuDir>
      <TargetDir>@HomeDir@/InstallationDirectory</TargetDir>
      </Installer>
      

      In the package.xml apparently I also need a .ui file. (pageform.ui):

      <?xml version="1.0" encoding="UTF-8"?>
      -<Package>
      <DisplayName>Qt Calculator</DisplayName>
      <Description>A Calculator Written in Qt by Purely C++ Code</Description>
      <Version>1.4</Version>
      <ReleaseDate>2017-07-17</ReleaseDate>
      <Name>com.vendor.root</Name>
      -<Licenses>
      <License file="License.txt" name="Beer Public License Agreement"/>
      </Licenses>
      <Virtual>false</Virtual>
      <Default>true</Default>
      <Script>installscript.qs</Script>
      -<UserInterfaces>
      <UserInterface>pageform.ui</UserInterface>
      </UserInterfaces>
      </Package>
      

      In the Docs, it says: In installscript.qs, we use the Component() function. But while I still don't have such a file how can write into it!!? My program still lacks it.

      I then switched to the resource directory (the data folder) by CMD and ran this command (as in the Dos):

      C:\Users\Abbasi\Desktop\package_directory\packages\com.vendor.product\data> C:\Qt\QtIFW2.0.1\bin\binarycreator.exe -c C:\Users\Abbasi\Desktop\package_directory\config\config.xml -p C:\Users\Abbasi\Desktop\package_directory\packages Qt_Calculator.exe

      I got some errors.

      seems to be a script file

      Yes it is a script file, and my question is how to have such a file please?

      K M 2 Replies Last reply 18 Jun 2017, 11:36
      0
      • T tomy
        18 Jun 2017, 10:28

        Thank you for the answer.

        My config.xml is the same as the Docs:

        <?xml version="1.0" encoding="UTF-8"?>
        -<Installer>
        <Name>Qt Calculator</Name>
        <Version>1.4.0</Version>
        <Title>Qt Framework Installer</Title>
        <Publisher>Abbasi</Publisher>
        <StartMenuDir>Super App</StartMenuDir>
        <TargetDir>@HomeDir@/InstallationDirectory</TargetDir>
        </Installer>
        

        In the package.xml apparently I also need a .ui file. (pageform.ui):

        <?xml version="1.0" encoding="UTF-8"?>
        -<Package>
        <DisplayName>Qt Calculator</DisplayName>
        <Description>A Calculator Written in Qt by Purely C++ Code</Description>
        <Version>1.4</Version>
        <ReleaseDate>2017-07-17</ReleaseDate>
        <Name>com.vendor.root</Name>
        -<Licenses>
        <License file="License.txt" name="Beer Public License Agreement"/>
        </Licenses>
        <Virtual>false</Virtual>
        <Default>true</Default>
        <Script>installscript.qs</Script>
        -<UserInterfaces>
        <UserInterface>pageform.ui</UserInterface>
        </UserInterfaces>
        </Package>
        

        In the Docs, it says: In installscript.qs, we use the Component() function. But while I still don't have such a file how can write into it!!? My program still lacks it.

        I then switched to the resource directory (the data folder) by CMD and ran this command (as in the Dos):

        C:\Users\Abbasi\Desktop\package_directory\packages\com.vendor.product\data> C:\Qt\QtIFW2.0.1\bin\binarycreator.exe -c C:\Users\Abbasi\Desktop\package_directory\config\config.xml -p C:\Users\Abbasi\Desktop\package_directory\packages Qt_Calculator.exe

        I got some errors.

        seems to be a script file

        Yes it is a script file, and my question is how to have such a file please?

        K Offline
        K Offline
        koahnig
        wrote on 18 Jun 2017, 11:36 last edited by
        #4

        @tomy

        I had used one of the example section as delivered with QTIFW. There is already a newer version QtIFW 2.0.5 available. There are a couple of different of installscript.qs there.

        Btw, Funnily, your other post is listed as 2 days ago. Is this an issue with crossing the date line?

        Also this is a user forum. You are hardly getting repsonses on issues with Qt IFW.

        Vote the answer(s) that helped you to solve your issue(s)

        1 Reply Last reply
        1
        • T tomy
          18 Jun 2017, 10:28

          Thank you for the answer.

          My config.xml is the same as the Docs:

          <?xml version="1.0" encoding="UTF-8"?>
          -<Installer>
          <Name>Qt Calculator</Name>
          <Version>1.4.0</Version>
          <Title>Qt Framework Installer</Title>
          <Publisher>Abbasi</Publisher>
          <StartMenuDir>Super App</StartMenuDir>
          <TargetDir>@HomeDir@/InstallationDirectory</TargetDir>
          </Installer>
          

          In the package.xml apparently I also need a .ui file. (pageform.ui):

          <?xml version="1.0" encoding="UTF-8"?>
          -<Package>
          <DisplayName>Qt Calculator</DisplayName>
          <Description>A Calculator Written in Qt by Purely C++ Code</Description>
          <Version>1.4</Version>
          <ReleaseDate>2017-07-17</ReleaseDate>
          <Name>com.vendor.root</Name>
          -<Licenses>
          <License file="License.txt" name="Beer Public License Agreement"/>
          </Licenses>
          <Virtual>false</Virtual>
          <Default>true</Default>
          <Script>installscript.qs</Script>
          -<UserInterfaces>
          <UserInterface>pageform.ui</UserInterface>
          </UserInterfaces>
          </Package>
          

          In the Docs, it says: In installscript.qs, we use the Component() function. But while I still don't have such a file how can write into it!!? My program still lacks it.

          I then switched to the resource directory (the data folder) by CMD and ran this command (as in the Dos):

          C:\Users\Abbasi\Desktop\package_directory\packages\com.vendor.product\data> C:\Qt\QtIFW2.0.1\bin\binarycreator.exe -c C:\Users\Abbasi\Desktop\package_directory\config\config.xml -p C:\Users\Abbasi\Desktop\package_directory\packages Qt_Calculator.exe

          I got some errors.

          seems to be a script file

          Yes it is a script file, and my question is how to have such a file please?

          M Offline
          M Offline
          mrjj
          Lifetime Qt Champion
          wrote on 18 Jun 2017, 14:12 last edited by
          #5

          @tomy said in How to create a .qs file:

          Yes it is a script file, and my question is how to have such a file please?

          Have you tried Just to create a new empty file and renamed it to installscript.qs ?

          T 1 Reply Last reply 18 Jun 2017, 19:07
          2
          • T Offline
            T Offline
            tomy
            wrote on 18 Jun 2017, 18:59 last edited by tomy
            #6

            @koahnig

            I had used one of the example section as delivered with QTIFW. There is already a newer version QtIFW 2.0.5 available. There are a couple of different of installscript.qs there.

            I searched for that 2.0.5 for my Windows but didn't find, instead I downloaded qt-installer-framework-opensource-2.0.5-src and could find many installscript.qs files. I picked one plus an empty .ui file and named it to pageform. It's empty.
            for the installscript.qs I put the code below into it after clearing its previous data.

            function Component()
            {
                // Install to @RootDir@ instead of @HomeDir@ on Windows
                if (installer.value("os") === "win") {
                    var homeDir = installer.value("HomeDir");
                    var targetDir = installer.value("TargetDir").replace(homeDir, "@RootDir@");
                    installer.setValue("TargetDir", targetDir);
                }
            
                // do not show component selection page
                installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
                // no startmenu entry so no need to ask where to create it
                installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
            }
            

            Now seemingly I have all needed stuffs. I re-ran the command in a CMD and again got errors! :(

            Also this is a user forum. You are hardly getting repsonses on issues with Qt IFW.

            Dont' millions of programmers create installers for their apps? Is there any simpler and easier means to create installers for our apps. If someone writes a code, they are more eager to create an installer for that, I suppose.

            1 Reply Last reply
            0
            • M mrjj
              18 Jun 2017, 14:12

              @tomy said in How to create a .qs file:

              Yes it is a script file, and my question is how to have such a file please?

              Have you tried Just to create a new empty file and renamed it to installscript.qs ?

              T Offline
              T Offline
              tomy
              wrote on 18 Jun 2017, 19:07 last edited by
              #7

              @mrjj

              Have you tried Just to create a new empty file and renamed it to installscript.qs?

              Not honestly. But how to? What Project or Classes on Qt Creator IDE?

              M 1 Reply Last reply 18 Jun 2017, 19:09
              0
              • T tomy
                18 Jun 2017, 19:07

                @mrjj

                Have you tried Just to create a new empty file and renamed it to installscript.qs?

                Not honestly. But how to? What Project or Classes on Qt Creator IDE?

                M Offline
                M Offline
                mrjj
                Lifetime Qt Champion
                wrote on 18 Jun 2017, 19:09 last edited by mrjj
                #8

                @tomy
                Just right click and create a text file then rename it. ( in your installer project folder)
                Its just a text file type and you add the commands manually.
                Seems to be nothing special you need to do.

                T 1 Reply Last reply 18 Jun 2017, 20:03
                4
                • M mrjj
                  18 Jun 2017, 19:09

                  @tomy
                  Just right click and create a text file then rename it. ( in your installer project folder)
                  Its just a text file type and you add the commands manually.
                  Seems to be nothing special you need to do.

                  T Offline
                  T Offline
                  tomy
                  wrote on 18 Jun 2017, 20:03 last edited by tomy
                  #9

                  @mrjj
                  Very nifty mrjj. Thanks. :)

                  And now what next, please?
                  Some points in my mind:

                  • Is the command I use (in CMD) correct?
                  • Is it acceptable even if the pageform.ui file has nothing special?
                  M 1 Reply Last reply 18 Jun 2017, 20:06
                  1
                  • T tomy
                    18 Jun 2017, 20:03

                    @mrjj
                    Very nifty mrjj. Thanks. :)

                    And now what next, please?
                    Some points in my mind:

                    • Is the command I use (in CMD) correct?
                    • Is it acceptable even if the pageform.ui file has nothing special?
                    M Offline
                    M Offline
                    mrjj
                    Lifetime Qt Champion
                    wrote on 18 Jun 2017, 20:06 last edited by
                    #10

                    @tomy
                    Hi
                    Ï have never used the installer framework so I cant tell.
                    Did you try the simple example
                    http://doc.qt.io/qtinstallerframework/ifw-tutorial.html
                    to get to know it ?

                    1 Reply Last reply
                    0
                    • T Offline
                      T Offline
                      tomy
                      wrote on 18 Jun 2017, 20:36 last edited by
                      #11

                      Hi,
                      Yeah, I used it. There should be some issue in paths in my stuff. :(

                      M 1 Reply Last reply 18 Jun 2017, 20:40
                      1
                      • T tomy
                        18 Jun 2017, 20:36

                        Hi,
                        Yeah, I used it. There should be some issue in paths in my stuff. :(

                        M Offline
                        M Offline
                        mrjj
                        Lifetime Qt Champion
                        wrote on 18 Jun 2017, 20:40 last edited by
                        #12

                        @tomy
                        with spaces or what kind of issues?

                        1 Reply Last reply
                        0
                        • T Offline
                          T Offline
                          tomy
                          wrote on 18 Jun 2017, 20:45 last edited by
                          #13

                          Please take a look at this:
                          https://postimg.org/image/kaf5gm31t/

                          M 1 Reply Last reply 18 Jun 2017, 20:50
                          0
                          • T tomy
                            18 Jun 2017, 20:45

                            Please take a look at this:
                            https://postimg.org/image/kaf5gm31t/

                            M Offline
                            M Offline
                            mrjj
                            Lifetime Qt Champion
                            wrote on 18 Jun 2017, 20:50 last edited by
                            #14

                            @tomy
                            Oh, there is something in the files it dont like. it seems.

                            When you tried the example , no errors were displayed?

                            T 1 Reply Last reply 18 Jun 2017, 21:01
                            1
                            • M mrjj
                              18 Jun 2017, 20:50

                              @tomy
                              Oh, there is something in the files it dont like. it seems.

                              When you tried the example , no errors were displayed?

                              T Offline
                              T Offline
                              tomy
                              wrote on 18 Jun 2017, 21:01 last edited by
                              #15

                              @mrjj
                              The code is of months ago but the Qt_Calculator.exe of Release mode now works fine in the data folder.
                              I think the problem is of either installscript.qs file or pageform.ui file. :(

                              M 1 Reply Last reply 18 Jun 2017, 21:02
                              0
                              • T tomy
                                18 Jun 2017, 21:01

                                @mrjj
                                The code is of months ago but the Qt_Calculator.exe of Release mode now works fine in the data folder.
                                I think the problem is of either installscript.qs file or pageform.ui file. :(

                                M Offline
                                M Offline
                                mrjj
                                Lifetime Qt Champion
                                wrote on 18 Jun 2017, 21:02 last edited by
                                #16

                                @tomy
                                But the errors seems to point to package.xml ?

                                1 Reply Last reply
                                1
                                • T Offline
                                  T Offline
                                  tomy
                                  wrote on 18 Jun 2017, 21:05 last edited by tomy
                                  #17

                                  This is the contents of that file:
                                  https://postimg.org/image/hsuszqcel/

                                  I see nothing clearly wrong in it.

                                  M 1 Reply Last reply 18 Jun 2017, 21:09
                                  0
                                  • T tomy
                                    18 Jun 2017, 21:05

                                    This is the contents of that file:
                                    https://postimg.org/image/hsuszqcel/

                                    I see nothing clearly wrong in it.

                                    M Offline
                                    M Offline
                                    mrjj
                                    Lifetime Qt Champion
                                    wrote on 18 Jun 2017, 21:09 last edited by
                                    #18

                                    @tomy
                                    well the errors says it wont use name, but i fail to see the "meta" it talks about.
                                    It also says the default and virtual should not be used together so maybe try to remove one?

                                    T 1 Reply Last reply 18 Jun 2017, 21:21
                                    1
                                    • M mrjj
                                      18 Jun 2017, 21:09

                                      @tomy
                                      well the errors says it wont use name, but i fail to see the "meta" it talks about.
                                      It also says the default and virtual should not be used together so maybe try to remove one?

                                      T Offline
                                      T Offline
                                      tomy
                                      wrote on 18 Jun 2017, 21:21 last edited by
                                      #19

                                      @mrjj
                                      Well it worked, not completely although. :)

                                      I removed that virtual line in the package.xml. And it is in the meta folder. Please look:
                                      https://postimg.org/image/u84mw60p9/

                                      Then re-done the command. It again returned some issues:
                                      https://postimg.org/image/y1wdy7ihz/

                                      It finally created an installer in the Result folder on desktop. But It doesn't put a shortcut of the program on desktop, and it's the contents of the installation folder:
                                      https://postimg.org/image/kvdfu4zcb/

                                      I think now I should somehow change the contents of installscript.qs file.

                                      M 1 Reply Last reply 18 Jun 2017, 21:27
                                      0
                                      • T tomy
                                        18 Jun 2017, 21:21

                                        @mrjj
                                        Well it worked, not completely although. :)

                                        I removed that virtual line in the package.xml. And it is in the meta folder. Please look:
                                        https://postimg.org/image/u84mw60p9/

                                        Then re-done the command. It again returned some issues:
                                        https://postimg.org/image/y1wdy7ihz/

                                        It finally created an installer in the Result folder on desktop. But It doesn't put a shortcut of the program on desktop, and it's the contents of the installation folder:
                                        https://postimg.org/image/kvdfu4zcb/

                                        I think now I should somehow change the contents of installscript.qs file.

                                        M Offline
                                        M Offline
                                        mrjj
                                        Lifetime Qt Champion
                                        wrote on 18 Jun 2017, 21:27 last edited by
                                        #20

                                        @tomy
                                        Yes the installscript.qs should contain the actual
                                        code to execute while installing.

                                        1 Reply Last reply
                                        1
                                        • T Offline
                                          T Offline
                                          tomy
                                          wrote on 18 Jun 2017, 21:30 last edited by tomy
                                          #21

                                          Yes, it seems to be the last important issue on the app. How to change it to work fine, please?
                                          This is its code:

                                          function Component()
                                          {
                                              // Install to @RootDir@ instead of @HomeDir@ on Windows
                                              if (installer.value("os") === "win") {
                                                  var homeDir = installer.value("HomeDir");
                                                  var targetDir = installer.value("TargetDir").replace(homeDir, "@RootDir@");
                                                  installer.setValue("TargetDir", targetDir);
                                              }
                                          
                                              // do not show component selection page
                                              installer.setDefaultPageVisible(QInstaller.ComponentSelection, false);
                                              // no startmenu entry so no need to ask where to create it
                                              installer.setDefaultPageVisible(QInstaller.StartMenuSelection, false);
                                          }
                                          
                                          M 1 Reply Last reply 18 Jun 2017, 21:45
                                          0

                                          11/29

                                          18 Jun 2017, 20:36

                                          • Login

                                          • Login or register to search.
                                          11 out of 29
                                          • First post
                                            11/29
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved