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: Maintenance.exe does not start (no uninstall, no update)
QtWS25 Last Chance

QtIFW: Maintenance.exe does not start (no uninstall, no update)

Scheduled Pinned Locked Moved Solved Installation and Deployment
13 Posts 2 Posters 2.0k 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.
  • S Schenk

    Hi,

    i installed my (offline-) application with local repository (set env-vars, installed database, call several batch-scripts etc.) and now i want to uninstall my application with the generated uninstaller. If i double-click the exe nothing appears.

    What i am doing wrong? I do not even know where to start to find the bug.

    My installer.js of my config.xml looks like this.

    // https://doc.qt.io/qtinstallerframework/noninteractive.html
    var isSilent = 0;
    
    function Controller(){	 	 
    	
    	if(installer.isInstaller()){
    		
    	
    		var silent = installer.value("silent");	
    		if(silent == 1 || silent=="true" && silent != null){
    			installer.autoRejectMessageBoxes;
    			gui.setSilent(true);
    			isSilent = 1;			
    		}		
    	}	
    	
    	if(installer.isUninstaller()){		
    		var silent = installer.value("silent");	
    		if(silent == 1 || silent=="true" && silent != null){			
    			installer.autoRejectMessageBoxes;		
    			gui.setSilent(true);
    			isSilent = 1;				
    		}		
    	}
    }
    
    
    
    Controller.prototype.IntroductionPageCallback = function()
    {
    	//installer.setValue("TargetDir", "");
    	if(isSilent == 1){
    		gui.clickButton(buttons.NextButton);
    	}
    	
    }
    
    Controller.prototype.TargetDirectoryPageCallback = function(){
    
    	
    	if(isSilent == 1){
    		var target = installer.value("target");		
    		if(target != null && target != ""){
    			var widget = gui.currentPageWidget();
    			if(widget != null){		
    				widget.TargetDirectoryLineEdit.setText(target);
    			}	
    		}		
    		gui.clickButton(buttons.NextButton);			
    	}	
    	
    }
    
    
    
    
    Controller.prototype.ComponentSelectionPageCallback = function(){
    
    	
    	if(installer.isInstaller()){
    		var widget = gui.currentPageWidget(); // get the current wizard page
    		if (widget != null) {
    			widget.selectAll();        					
    			widget.findChild("SelectAllComponentsButton").setEnabled(false);
    			widget.findChild("DeselectAllComponentsButton").setEnabled(false);
    			widget.findChild("SelectDefaultComponentsButton").setEnabled(false);
    			widget.findChild("ResetComponentsButton").setEnabled(false);			
    		}	
    	}
    	
    	if(isSilent == 1){
    		var widget = gui.currentPageWidget();
    		if(widget != null){
    			widget.selectAll();			
    		}
    		gui.clickButton(buttons.NextButton);
    	}
    }
    
    Controller.prototype.StartMenuDirectoryPageCallback = function(){	
    	if(isSilent == 1){
    		gui.clickButton(buttons.NextButton);
    	}
    }
    
    Controller.prototype.LicenseAgreementPageCallback = function(){	
    	if(isSilent == 1){
    		var widget = gui.currentPageWidget();	
    		if(widget != null){
    			widget.AcceptLicenseRadioButton.setChecked(true);				
    		}		
    		gui.clickButton(buttons.NextButton);
    	}	
    }
    
    Controller.prototype.ReadyForInstallationPageCallback = function(){
    	if(isSilent == 1){
    		gui.clickButton(buttons.NextButton);
    	}	
    }
    
    Controller.prototype.PerformInstallationPageCallback = function(){	
    	if(isSilent == 1){
    		gui.clickButton(buttons.NextButton);
    	};	
    }
    
    Controller.prototype.FinishedPageCallback = function(){	
    	
    	if(installer.isInstaller()){
    		installer.gainAdminRights();
    		var dir = installer.value("TargetDir");
    		if(installer.fileExists(dir +"/tmp") == true){			
    			installer.performOperation("Delete", "@TargetDir@/tmp");						
    		}	
    		installer.dropAdminRights();
    	}	
    	
    	if(isSilent == 1){
    		gui.clickButton(buttons.FinishButton);		
    	}		
    }
    

    Thank you for your help in advance.
    bets regards

    RatzzR Offline
    RatzzR Offline
    Ratzz
    wrote on last edited by
    #4

    @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

    if(installer.isUninstaller()){
    var silent = installer.value("silent");
    if(silent == 1 || silent=="true" && silent != null){
    installer.autoRejectMessageBoxes;
    gui.setSilent(true);
    isSilent = 1;
    }

    Is it required???

    --Alles ist gut.

    1 Reply Last reply
    0
    • S Offline
      S Offline
      Schenk
      wrote on last edited by Schenk
      #5

      To be honest, I do not know. :/ I will test it.
      Normaly, the if condition is not called in the uninstaller Routine....

      RatzzR 1 Reply Last reply
      0
      • S Schenk

        To be honest, I do not know. :/ I will test it.
        Normaly, the if condition is not called in the uninstaller Routine....

        RatzzR Offline
        RatzzR Offline
        Ratzz
        wrote on last edited by
        #6

        @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

        I do not know.

        Can you keep only required code and test them ?

        --Alles ist gut.

        1 Reply Last reply
        0
        • S Offline
          S Offline
          Schenk
          wrote on last edited by
          #7

          I tested it with

          function Controller(){	 	 
          	
          	/* if(installer.isInstaller()){
          		
          	
          		var silent = installer.value("silent");	
          		if(silent == 1 || silent=="true" && silent != null){
          			installer.autoRejectMessageBoxes;
          			gui.setSilent(true);
          			isSilent = 1;			
          		}		
          	}	
          	
          	if(installer.isUninstaller()){		
          		var silent = installer.value("silent");	
          		if(silent == 1 || silent=="true" && silent != null){			
          			installer.autoRejectMessageBoxes;		
          			gui.setSilent(true);
          			isSilent = 1;				
          		}		
          	} */
          }
          

          and with

          function Controller(){	 	 
          	
          	/* if(installer.isInstaller()){
          		
          	
          		var silent = installer.value("silent");	
          		if(silent == 1 || silent=="true" && silent != null){
          			installer.autoRejectMessageBoxes;
          			gui.setSilent(true);
          			isSilent = 1;			
          		}		
          	}	
          	*/
          
          	if(installer.isUninstaller()){		
          		var silent = installer.value("silent");	
          		if(silent == 1 || silent=="true" && silent != null){			
          			installer.autoRejectMessageBoxes;		
          			gui.setSilent(true);
          			isSilent = 1;				
          		}		
          	} 
          }
          

          Even if i stop all processes which have access to the files in the installation folder, it will not work.
          The uninstaller-process does not start. Even if i call it with or without admin rights from explorer; or from an admin console with

          uninstaller.exe silent=1
          uninstaller.exe silent==1
          uninstaller.exe "silent=1"
          uninstaller.exe silent=true
          uninstaller.exe silent="true"
          uninstaller.exe "silent=true"
          

          there is no success and no process in the task manager.
          How can i delete the installation manually? I can delete the files manually, but the appliacation still exists in the windows Program & Features table.

          RatzzR 1 Reply Last reply
          0
          • S Schenk

            I tested it with

            function Controller(){	 	 
            	
            	/* if(installer.isInstaller()){
            		
            	
            		var silent = installer.value("silent");	
            		if(silent == 1 || silent=="true" && silent != null){
            			installer.autoRejectMessageBoxes;
            			gui.setSilent(true);
            			isSilent = 1;			
            		}		
            	}	
            	
            	if(installer.isUninstaller()){		
            		var silent = installer.value("silent");	
            		if(silent == 1 || silent=="true" && silent != null){			
            			installer.autoRejectMessageBoxes;		
            			gui.setSilent(true);
            			isSilent = 1;				
            		}		
            	} */
            }
            

            and with

            function Controller(){	 	 
            	
            	/* if(installer.isInstaller()){
            		
            	
            		var silent = installer.value("silent");	
            		if(silent == 1 || silent=="true" && silent != null){
            			installer.autoRejectMessageBoxes;
            			gui.setSilent(true);
            			isSilent = 1;			
            		}		
            	}	
            	*/
            
            	if(installer.isUninstaller()){		
            		var silent = installer.value("silent");	
            		if(silent == 1 || silent=="true" && silent != null){			
            			installer.autoRejectMessageBoxes;		
            			gui.setSilent(true);
            			isSilent = 1;				
            		}		
            	} 
            }
            

            Even if i stop all processes which have access to the files in the installation folder, it will not work.
            The uninstaller-process does not start. Even if i call it with or without admin rights from explorer; or from an admin console with

            uninstaller.exe silent=1
            uninstaller.exe silent==1
            uninstaller.exe "silent=1"
            uninstaller.exe silent=true
            uninstaller.exe silent="true"
            uninstaller.exe "silent=true"
            

            there is no success and no process in the task manager.
            How can i delete the installation manually? I can delete the files manually, but the appliacation still exists in the windows Program & Features table.

            RatzzR Offline
            RatzzR Offline
            Ratzz
            wrote on last edited by
            #8

            @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

            How can i delete the installation manually?

            There is an MaintenanceTool.exe which uninstalls for you.

            @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

            I tested it with

            Can you just try with this minimum steps required to create an installer and check?

            --Alles ist gut.

            S 1 Reply Last reply
            2
            • RatzzR Ratzz

              @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

              How can i delete the installation manually?

              There is an MaintenanceTool.exe which uninstalls for you.

              @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

              I tested it with

              Can you just try with this minimum steps required to create an installer and check?

              S Offline
              S Offline
              Schenk
              wrote on last edited by
              #9

              @Ratzz The maintanance.exe does not work. This is why i created this thread. But i found the problem, but not really a solution to fix it.
              The uninstaller.exe /maintenance.exe contained a ".". After renaming the .dat., .exe and ini-files, it can be used to uninstall the application, but no update and no separate items.

              RatzzR 1 Reply Last reply
              0
              • S Schenk

                @Ratzz The maintanance.exe does not work. This is why i created this thread. But i found the problem, but not really a solution to fix it.
                The uninstaller.exe /maintenance.exe contained a ".". After renaming the .dat., .exe and ini-files, it can be used to uninstall the application, but no update and no separate items.

                RatzzR Offline
                RatzzR Offline
                Ratzz
                wrote on last edited by
                #10

                @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                After renaming the .dat., .exe and ini-files

                Renaming may be bad idea.

                @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                Can you just try with this minimum steps required to create an installer and check?

                can you please make a sample instead of messing up all together ?http://doc.qt.io/qtinstallerframework/ifw-tutorial.html

                --Alles ist gut.

                S 1 Reply Last reply
                0
                • RatzzR Ratzz

                  @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  After renaming the .dat., .exe and ini-files

                  Renaming may be bad idea.

                  @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  Can you just try with this minimum steps required to create an installer and check?

                  can you please make a sample instead of messing up all together ?http://doc.qt.io/qtinstallerframework/ifw-tutorial.html

                  S Offline
                  S Offline
                  Schenk
                  wrote on last edited by
                  #11

                  @Ratzz Hi Ratzz,

                  everthing is good ;)

                  @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  Can you just try with this minimum steps required to create an installer and check?

                  can you please make a sample instead of messing up all together ?http://doc.qt.io/qtinstallerframework/ifw-tutorial.html

                  I did the minium sample and it works fine. So i analysed it to find my fault.

                  @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                  After renaming the .dat., .exe and ini-files

                  Renaming may be bad idea.

                  My config file contained the following line and the generated uninstaller.exe (MyApp2.0_Maintenance.exe) it will not work, because of the dot (" . ") in the description.

                  [...]
                  <MaintenanceToolName>MyApp2.0_Maintenance</MaintenanceToolName>	
                  [...]
                  

                  I had to rename the files, so that i am able to delete the existing installation and provide a new, functional version of my installer.

                  RatzzR 1 Reply Last reply
                  0
                  • S Schenk

                    @Ratzz Hi Ratzz,

                    everthing is good ;)

                    @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                    @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                    Can you just try with this minimum steps required to create an installer and check?

                    can you please make a sample instead of messing up all together ?http://doc.qt.io/qtinstallerframework/ifw-tutorial.html

                    I did the minium sample and it works fine. So i analysed it to find my fault.

                    @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                    @Schenk said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                    After renaming the .dat., .exe and ini-files

                    Renaming may be bad idea.

                    My config file contained the following line and the generated uninstaller.exe (MyApp2.0_Maintenance.exe) it will not work, because of the dot (" . ") in the description.

                    [...]
                    <MaintenanceToolName>MyApp2.0_Maintenance</MaintenanceToolName>	
                    [...]
                    

                    I had to rename the files, so that i am able to delete the existing installation and provide a new, functional version of my installer.

                    RatzzR Offline
                    RatzzR Offline
                    Ratzz
                    wrote on last edited by
                    #12

                    @Schenk
                    So is the thread solved?

                    --Alles ist gut.

                    S 1 Reply Last reply
                    0
                    • RatzzR Ratzz

                      @Schenk
                      So is the thread solved?

                      S Offline
                      S Offline
                      Schenk
                      wrote on last edited by
                      #13

                      @Ratzz said in QtIFW: Maintenance.exe does not start (no uninstall, no update):

                      @Schenk
                      So is the thread solved?

                      YES!

                      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