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. On the way of making an app installable
Forum Updated to NodeBB v4.3 + New Features

On the way of making an app installable

Scheduled Pinned Locked Moved Unsolved General and Desktop
49 Posts 3 Posters 14.4k Views 2 Watching
  • 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.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #20

    These are just screenshots to illustrate the documentation. They don't necessarily indicate anything special except when there's an OS specific feature like Selecting Windows Program Group.

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • tomyT Offline
      tomyT Offline
      tomy
      wrote on last edited by tomy
      #21

      OK, whatever they are, fine. I want to continue the way to the end.
      Now what should I do then? Any other tuts, links?

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #22

        In the doc here.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0
        • tomyT Offline
          tomyT Offline
          tomy
          wrote on last edited by
          #23

          so I created a folder on Desktop named package directory.

          For this:
          Place all components in the same root directory, which is called the package directory. The directory name acts as a domain-like identifier, which identifies all components. For example, com.vendor.root.

          what components does it mean? The qt-installer-framework-opensource-2.0.1-x64 and Release folder containing:
          http://uploads.im/aN8CQ.jpg

          ??

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #24

            Please take the time to read the linked pages.

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            tomyT 1 Reply Last reply
            0
            • SGaistS SGaist

              Please take the time to read the linked pages.

              tomyT Offline
              tomyT Offline
              tomy
              wrote on last edited by tomy
              #25

              @SGaist
              Actually as a habit, I read the pages/links but only when I find something unknown/strange, I post a question again.

              Frankly speaking, making an app installable is much much harder than creating the app itself. I would have never think it would be that difficult.

              Anyway, I go on the way and try to read all pages.

              1 Reply Last reply
              0
              • tomyT Offline
                tomyT Offline
                tomy
                wrote on last edited by tomy
                #26

                Hi, and thanks for your guidance.

                I went for creating a package directory on my Desktop with two subdirectories data and meta.

                Then using a Notepad I created a package.xml like this and put into meta subdirectory:

                <?xml version="1.0"?>
                -<Package>
                <DisplayName>Qt Calculator</DisplayName>
                <Description>A Calculator Written in Qt by Purely C++ Code</Description>
                <Version>1.1</Version>
                <ReleaseDate>2017-03-23</ReleaseDate>
                <Name>com.vendor.root.component2</Name>
                <Dependencies>com.vendor.root.component1</Dependencies>
                <Virtual>false</Virtual>
                <Default>false</Default>
                <ForcedInstallation>false</ForcedInstallation>
                <Essential>false</Essential>
                <Replaces>com.vendor.root.component2old</Replaces>
                </Package>

                My app is very simple I think. I just need a window that installs the app including the .dll files and puts a shortcut on the desktop on the target machine.
                I then went for this page section Predefined Installer Pages for going on the process.

                Have I done the work correctly up to now?

                A question:
                For the data subdirectory, the link says "The data directory contains the content that the installer extracts during the installation."
                What content does it mean? I have the Release folder plus qt-installer-framework-opensource-2.0.1-x86.run only.
                Should I package these as a 7zip archive and put into data subdirectory?

                Thanks so much.

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #27

                  They mean whatever is needed to run your application. So basically, you usually copy the binary of your exec in an empty folder, run windeployt, check that everything is working, and then you package that.

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  tomyT 1 Reply Last reply
                  1
                  • SGaistS SGaist

                    They mean whatever is needed to run your application. So basically, you usually copy the binary of your exec in an empty folder, run windeployt, check that everything is working, and then you package that.

                    tomyT Offline
                    tomyT Offline
                    tomy
                    wrote on last edited by tomy
                    #28

                    @SGaist

                    Thanks.

                    What I have now:
                    A packaeg_directory with a meta folder and a data.7z file in it.
                    The meta folder contains a package.xml file.
                    The data.7z archive file contains: the .exe file and related files and folders that were added to it after running windeployt, plus qt-installer-framework-opensource-2.0.1-x86.

                    Then I continued to the Control Scpripting page.
                    There I think I should write one or mor Control Scripts. There are a few versions there that each one adds some functionality and wizards to the installation process.
                    The examples of codes are available there but the question is where and how to write them and then add them to the package_directoy?

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #29

                      Why are you adding qt-installer-framework-opensource-2.0.1-x86 to your installer ?

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      tomyT 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Why are you adding qt-installer-framework-opensource-2.0.1-x86 to your installer ?

                        tomyT Offline
                        tomyT Offline
                        tomy
                        wrote on last edited by tomy
                        #30

                        @SGaist
                        I hadn't used it until now and thought it should be probably added to there. I just guessed. :(

                        OK, I will remove it from there.

                        And what then please?

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #31

                          Are you following the tutorial here ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          tomyT 1 Reply Last reply
                          1
                          • SGaistS SGaist

                            Are you following the tutorial here ?

                            tomyT Offline
                            tomyT Offline
                            tomy
                            wrote on last edited by tomy
                            #32

                            @SGaist

                            Summary:

                            I have a package_directory folder on my Windows Desktop with these sub-folders. The config.xml file contains this. The data subfolder contains the data.7z file. The meta subfolder contains a package.xml file with this content.

                            following the link, I got to the Creating the Installer Binary where it says:
                            On Windows:
                            ....\bin\binarycreator.exe -c config\config.xml -p packages YourInstaller.exe

                            Whatever I searched I didn't find a .exe file named binarycreator. After searching the Web, I downloaded QtInstallerFramework-win-x86.exe from here and installed it and finally could find that .exe file in path: C:\Qt\QtIFW2.0.3\bin\binarycreator.exe

                            Now everything is ready to implement the command above. So by a command like I went to the path of package_directory on my Desktop and typed C:\Qt\QtIFW2.0.3\bin\binarycreator.exe -c config\config.xml -p packages YourInstaller.exe and hit Enter.

                            The message of the command line, as stated in the following, is seemingly all about the package.xml file.

                            0_1486717978694_upload-c042a463-6e2c-4cdf-98f6-3a42621bb960

                            And no installer is created on my package_directory folder unfortunately. :(

                            Would you please tell me how to solve this?

                            1 Reply Last reply
                            0
                            • tomyT Offline
                              tomyT Offline
                              tomy
                              wrote on last edited by tomy
                              #33

                              My last works:

                              1- I changed the file config.xml to this.
                              2- Created a licens.txt file on my Desktop and changed the file package.xml to this.

                              3- Created a folder named Result on my Desktop and pasted the Cal.exe file from the Release folder onto it.
                              4- Ran this command.

                              Now what is the problem please?

                              1 Reply Last reply
                              0
                              • SGaistS Offline
                                SGaistS Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on last edited by
                                #34

                                Put the license in the same folder as your script.

                                On a side note, you are using single backslashes in your path which mean you are escaping characters.

                                Interested in AI ? www.idiap.ch
                                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                tomyT 1 Reply Last reply
                                1
                                • SGaistS SGaist

                                  Put the license in the same folder as your script.

                                  On a side note, you are using single backslashes in your path which mean you are escaping characters.

                                  tomyT Offline
                                  tomyT Offline
                                  tomy
                                  wrote on last edited by tomy
                                  #35

                                  @SGaist

                                  @SGaist said in On the way of making an app installable:

                                  Put the license in the same folder as your script.

                                  Do you mean into the meta folder?

                                  On a side note, you are using single backslashes in your path which mean you are escaping characters.

                                  Do you mean that I should use double-backslashes for my paths, like below?

                                  C:\Qt\QtIFW2.0.3\bin\binarycreator.exe -c C:\Users\CS\Desktop\package_directory\config\config.xml -p C:\Users\CS\Desktop\package_directory\packages C:\Users\CS\Desktop\Result\Cal.exe

                                  It seems rather odd! (Each single backslash to be changed to a double-backslashes)

                                  1 Reply Last reply
                                  0
                                  • SGaistS Offline
                                    SGaistS Offline
                                    SGaist
                                    Lifetime Qt Champion
                                    wrote on last edited by
                                    #36

                                    In the same folder as package.xml

                                    I mean again in package.xml. Don't mix command line and text file content.

                                    Interested in AI ? www.idiap.ch
                                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                    tomyT 1 Reply Last reply
                                    0
                                    • SGaistS SGaist

                                      In the same folder as package.xml

                                      I mean again in package.xml. Don't mix command line and text file content.

                                      tomyT Offline
                                      tomyT Offline
                                      tomy
                                      wrote on last edited by tomy
                                      #37

                                      @SGaist
                                      OK, I copied the license.txt onto the mate folder (where the package.xml exists).
                                      And changed package.xml license section to this:

                                      <Licenses>
                                              <License name="Beer Public License Agreement" file="C:\\Users\\CS\\Desktop\\license.txt" />
                                          </Licenses>
                                      

                                      And then ran the command.
                                      Again the same result.
                                      http://uploads.im/d2bNT.jpg

                                      1 Reply Last reply
                                      0
                                      • SGaistS Offline
                                        SGaistS Offline
                                        SGaist
                                        Lifetime Qt Champion
                                        wrote on last edited by
                                        #38

                                        If it's in the same folder then there's no need to put any path, just the file name

                                        Interested in AI ? www.idiap.ch
                                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                        1 Reply Last reply
                                        1
                                        • tomyT Offline
                                          tomyT Offline
                                          tomy
                                          wrote on last edited by tomy
                                          #39

                                          Thank you, it worked. :)

                                          But one question and one issue!

                                          The question: I'd changed the config.xml to this and package.xml to this.

                                          When I ran the command line, I got an issue about the Name tag as follows:

                                          [1] Warning: The <Name> tag in the 'C:/Users/CS/Desktop/package_directory/packag
                                          es/com.vendor.product/meta/package.xml' is ignored - the installer uses the path
                                          element right before the 'meta' ('com.vendor.product').
                                          C:\Qt\QtIFW2.0.3\bin>

                                          Should I ignore it? If not how to solve it, too, please?

                                          The issue: The installer file exists in the Result folder on Desktop. When I install it and select a folder on Start Menu (say Accessories or Start Up) to have the shortcut of the program, no shortcut will be created or saved there!! :(

                                          What is the reason for that problem and how should I solve it please?

                                          1 Reply Last reply
                                          0

                                          • Login

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