Is it possible to run the exe before installation of the msi.Actually i need to take the backup before installation of the msi,this all i need via the installation of the msi.
any help highly appreciable
Sure, schedule a custom action very early in the InstallExecuteSequence. No modifications to the machine should happen before the InstallExecuteSequence is called.
Related
I was developing a shiny-app on a Windows machine in Rstudio. Now I need to develop it on a Linux machine and later on will need to deploy it on a server. Because of the need to run the app across platforms, I was looking into some environment control application so that I don't have to tune and reinstall the needed packages manually.
I tried to use Packrat for this purpose. I made a snapshot on my Windows machine, copied and pasted the project to my Ubuntu, reopened the project on RStudio, installed Packrat and the restore of the packages ran automatically. Then I ran into an issue that some of the packages that requires system dependencies were not installed automatically, e.g. rgdal and jqr. Therefore, I had to manually install those system dependencies manually in a terminal (it took me a while because there were about 10 of them that requires extra system dependencies).
I am wondering if there is an easier way to just automatically handle this. Later on, I will need to work with a system administer to deploy the app to the server. I am wondering if Packrat has the capability of automatically installing system dependencies on Linux machine/server. If anyone has encounter this issue before, or have other better options, please let me know!
Thank you!
Hello and welcome to StackOverflow.
You are facing a question that is actually much harder to tackle than you may think at first---deployment of complex R package dependencies across different operating systems is a truly hard and, truth be told, unsolved problem!
You can of course use packrat and renv for R package dependencies and snapshots of particular versions. But this does not do anything for system-level dependencies which are simply taken as "given". So no to just transfering to another box and saying "abracadabra". Sorry!
The closest we all may have gotten to fixing this may be Docker where you can create a portable unit of execution that can be deployed whereever Docker run: Windows, macOS, different Linux flavours, ... as it encodes everything.
I'm trying to make an installer using the Qt Installer framework and when an upgrade is available in the software (checked through our rest API), our software will download the new installer and run it.
This should of course uninstall the previous version first, however, it seems just running it will give you "The folder you selected already exists..." error.
I thought using the maintenance tool that is generated would provide a solution, however, it seems that there is no way to run this with a switch to just do the uninstall. It shows up with the dialogue of uninstall, upgrade... which would confuse the users.
Is there a way to get the maintenance tool or otherwise to uninstall the program, so the update can be run?
EDIT:
If this cannot be done, can anyone suggest a good cross platform installer framework?
Do not try to run the installer again, run the maintenancetool.exe to update. You can make a "silent" update by passing a script to the maintenance tool like this:
#echo off
maintenancetool.exe --checkupdates > checkUpdate.txt
findstr /c:"updates" checkUpdate.txt
if %errorlevel% == 0 maintenancetool.exe --script=script.qs
http://doc.qt.io/qtinstallerframework/noninteractive.html
I am developing a package and I would like to know what is the best way to execute a script at installation time.
Essentially I want to make sure that third-party tools are installed,
retrieve them when I can and raise an error if some dependency is missing.
I am not referring only to R packages, but also to system-wide headers, fonts and similar dependencies.
What is the best strategy to follow in this case?
Scripts to be run before installation should be placed in an executable file called configure (will be executed on Linux/Unix/Mac computers) or in a file called configure.win (will be executed in Windows computers).
I previously installed a website on the server by running an msi package and everything worked fine. Now, when I try to run the same msi file (to Repair/Uninstall), I get a message:
When I click Cancel, I get the following message:
Anybody has an idea what happened and how it can be fixed?
I would recommend that you run the MSI with logging enabled. This can be done by using the /l*v C:\mylog.txt switch or by modifying the registry. The log will provide you with more precise information as to what is going wrong during the msi process.
The articles below describe how to enable logging and the logging process in more detail
http://support.microsoft.com/kb/223300
http://technet.microsoft.com/en-us/library/cc759262(v=WS.10).aspx
http://msdn.microsoft.com/en-us/library/aa372847(v=vs.85).aspx
Once you have the log you can use a set of MSI tools like the Orca installer database editor tool on the Windows SDK to correct any issues.
This is the link for Windows 7 SDK which contains the msi tools.
http://www.microsoft.com/en-us/download/details.aspx?id=8279
Sorry for answering my own question, but I found the problem and I want to share the solution:
After I installed the old version on the server, I changed the name of the msi file. Consequently, I could not run the old version to repair/update. I could not even install a newer version over the old version, as the installer needed the old msi to uninstall the old version.
When I changed back the filename of the old version, it allowed me to install the new version.
CONCLUSION: Don't change the name of the msi file after installation.
I have to run my jar file on a machine which does not have java installed. I went through this link:
http://www.java.net/node/655012
but I dont know how to do it. Can anybody tell me the steps that are required to be done to achieve this?
Thanks.
Wrap with launch4j to get an EXE file or deploy with java Webstart to get a clickable link on a web page (which prompt you to install Java)