Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. QtIFW 3.0/Windows: How to create an installer that doesn't create and register a MaintenanceTool ?

QtIFW 3.0/Windows: How to create an installer that doesn't create and register a MaintenanceTool ?

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
windowsinstaller fwqtifw
1 Posts 1 Posters 823 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.
  • Y Offline
    Y Offline
    Yves
    wrote on 25 Jan 2019, 12:39 last edited by Yves
    #1

    <tl/dr>
    Due to special requirements I'm trying to create an installer with QtIFW 3.0 that does not create a MaintenanceTool and doesn't register it in the Windows registry.

    Long Version
    I created a framework (custom QML types and C++ classes) for a customer. Due to special requirements of the customer it must be installed into a certain directory structure. There can be several versions of the framework in that directory structure:

    <InstallationTargetDirectory>
            | 
            |- MyFramework_Qt<version>_mingw<version>
            |            |- 2.0.0
            |            |        |- include
            |            |        |- lib
            |            |          ...
            |            |- 2.0.1
            |                     |- include
            |                     |- lib
            |                    ...
            |- MyFramework_Qt<version>_linux  
            |            |- 2.0.0
           ...          ...                            
    

    InstallationTargetDirectory is chosen by the user and all versions of the framework are to be installed into that directory. But there is one installer for each platform/version-combination (one installer for MyFramework 2.0.0 for Qt<version> MinGW<version>, another one for MyFramework 2.0.1 for Qt<version> MinGW<version> and another one for MyFramework 2.0.0 for Qt<version> Linux). Putting all versions into one Installer is not an option due to the way the project is built.

    Unfortunately the Qt Installer Framework generates an MaintenanceTool and puts it into InstallationTargetDirectory, so installing more than one version into that directory overwrites the components.xml and repository.xml of previously installed version. Those versions cannot be uninstalled anymore, as the associated MaintenanceTool executable misses the necessary information. Also uninstalling a version should be as easy as removing the associated directory.

    Additionally the installer registers the path to the MaintenanceTool in the Windows registry. Simply deleting the version directory leaves that key in the registry, leading to a long list of "MyFramework" entries in the Windows Settings -> Apps category that cannot be removed (without the uninstaller executable the entry in Apps cannot be removed except by removing the registry keys).

    So my question is: is there a way to create an installer that doesn't create and register a MaintenanceTool?

    1 Reply Last reply
    0

    1/1

    25 Jan 2019, 12:39

    • Login

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