Qt installer framework - check target directory and if it exists run uninstaller - qt-installer

I am looking for a solution to it if - existing installation to my program exists then :
Prompt page to - update, add or remove all components.
Remove the directory if installation file exits or run maintenancetool in that directory.
I have tried answers to other questions on this site about solving the same problem, but none of the solutions work correctly.

During fresh install of software, create a configuration file and store the installation details in that configuration file.
(In case of windows environment, you can store these details in registry instead of file)
And during installation find that file and check installation directory and other details.
Then you can show available options to user like,
Upgrade Software
Remove Software
On uninstall of software you should delete that configuration file.
For reference checkout this demo project.

Related

How to install plugin for MobaXterm?

I need a terminal that will support svn on windows and I found that MobaXterm is one of them. However going to their plugin installation page which says:
To install these plugins, just download them and put them in the same directory than the MobaXterm executable.
So I downloaded it and put it in the file
C:\Program Files (x86)\Mobatek\MobaXterm Personal Edition however I still get the error message
Sorry: Svn is not included in this version of MobaXterm.
You can check online if you find a Svn plugin for MobaXterm
by ctrl+clicking here: http://mobaxterm.mobatek.net .
If you need a custom version of MobaXterm that includes Svn,
do not hesitate to ask us for a quotation: mailto:contact#mobatek.net .
Does anyone have experience with this software or recommended a terminal that can support svn in windows?
You need to go into the C:\Program Files (x86)\Mobatek\MobaXterm Personal Edition or whichever edition you have and place the plugin there. Restart MobaXterm and it should work.
I normally collect all the plugins which I require from http://mobaxterm.mobatek.net/plugins.html
Once the .mxt3 files are getting downloaded, I moved them to the installed folder where the MobaXterm_.exe is there.
After restarting MobaXterm, this will work like a champ.
Hope if this solves your issue faster.
Start MobaXterm terminal.
Type MobApt or apt-get. This will open MobApt package manager.
Once in the package manager, you have a variety of tools/commands that you can install by simply selecting and pressing Install/Update.
i know the question is old. but you should put the plugin into your home.
if you check the setting you see this is the home directory
%CurrentDrive%:\Users\USERNAME\Documents\MobaXterm\home
witch is :
C:\Users\USERNAME\Documents\MobaXterm\home -- or whatever drive that u installed windows
i just installed the python plugin and it works fine
In Mobaxterm simply type : apt-get install subversion
Usable just right after installation. No need to restart.
Same for git.
Change the name of the .mxt3 file (that you downloaded) to .zip
Extract the files, get the .exe files you want from the bin folder
from the files you just extracted, and add them to the slash/bin
folder of the Mobaxterm (where there are more .exe files)
Restart
In order to finish your plugin installation, you need to restart MobaXterm. After restarting, type "svn" in the terminal and it should work.
Try run the command:
#unalias svn
When I saw $PATH and looked into its directories, there was no git.exe.
I downloaded git.mxt3 and put in program files (86) folder and restarted mobaterm.
After restart I can see a file named git.exe in my /bin folder. I am using Win7 (64 bit) and mobaXterm personal Edition v7.1 installed using windows installer (not portable )
MobaXterm already has a 'Packages' button where you can search for plugins and download them. You don't need to go to github and other places to find the necessary files. Just using the built-in search feature under the 'Packages' option at the top of MobaXterm.

How do I force Inno Setup to make the 'uninsneveruninstall' flag retroactive?

Inno Setup keeps an "Uninstall log" file unins000.dat in the application's install directory. This file contains a list of all the files that are to be uninstalled when the application is removed. When a new version of the app is installed over the old one, Inno Setup just appends any new files to the "Uninstall Log".
An early version of my application removes some user-modified template files when it is uninstalled, because I forgot to include the uninsneveruninstall flag for those files.
In the latest version of the software, the uninsneveruninstall flag is set, and the files don't get removed....... unless the latest version was installed over the broken version. Then, because those files are in the uninstall log without that flag, they get removed upon uninstall!
I can't ask my users to uninstall the old software before upgrading, because then they would lose those files.
Can I force Inno Setup to regenerate the uninstall log from scratch? Or at least remove/overwrite the entries for these files? I want the uninsneveruninstall flag to be retroactive.
You can't change that flag retroactively. Once it's been released, then that's it.
An option though would be, during the setup, to detect the older broken version having been installed (If not by version number, maybe a flag in the registry to say the fix has been applied) and backup the folder in question, perform an uninstall (silently) then restore the folder.
The setup can then carry on as normal.

Advanced Installer Mystery File/Folders

Using Advanced Installer. When I build and run my install project, after the install there is a folder called MyCompany (equivalent to [Manufacturer]) located within the ApplicationData folder (which resolves to C:\Users\Joey\AppData\Roaming\ on my system).
Within that particular folder is another folder called MyProgram 1.0.0 (equivalent to [ProductName] [ProductVersion].
And within that folder is another folder called install. And within that folder is a file called setup.msi with a size of 1.17MB
I have no understanding of why this file and these folders are being created. Further, after I uninstall my app, they get left behind on the system, which means my app is creating garbage.
Can someone please explain why this is happening? And also...if I can't cause this to not be present in the file system while my app is installed, how can I avoid leaving it behind on the file system after I uninstall?
Thanks.
When you are building an EXE setup file, that is the default extraction folder for the EXE, where you can find all the resources during the installation. You can change it from Media page, "Extraction folder".
It is not deleted after uninstall due a bug in Advanced Installer, you can find more details and a workaround on the forums.

How to auto-upgrade program (Inno Setup) on windows 7 without being admin?

I use Inno setup to install python package (py2exe) on the program files folder. the first installation require admin privileged and it is ok.
The application has automatically upgrade option (it download the new setup exe ad run it in silence mode)
The problem is that it fails because the user is not admin.
My first though was to install the first installation in {pf} folder, but to install the updated pyc in the user folder. and somehow to tell the app to check for pyc in this folder.
But I don't know how to do it and if it can be done
A normal application can not run an installer to update a system wide location without it asking for/requiring full admin access.
As it's best practice to prompt/warn the user before an upgrade the UAC prompt shouldn't be a problem.

Deleting old file versions during an upgrade install

I am working with a pure InstallScript installation in InstallShield Pro 2010.
A third-party jar file has been replaced with a newer version in our software. When an upgrade installation is run, the new jar is installed, but the old jar also remains. Bad Things ensue.
How can I get InstallShield to update the contents of a folder, AND delete any other files in that location that are not included in the current version?
I've looked at the Component -> Overwrite options, but this only seems to apply "when the installer encounters an existing file with the same name as the one being installed".
Also, I realize that I could add something to the scripts to remove the offending file, but I need a scalable solution. There will be other files replaced over time, and I'd rather not have to manually add a fix to the installer every time this happens.
Can you just not change the name of the JAR file from build to build?
I'm not aware of InstallScript having a robocopy /mirror style copy. You'd have to script this behavior and I could see it not ending well quickly.

Resources