I am having a 3rd party software in my machine. Let the name be Temp.msi
Now I need to uninstall this software when I am installing my setup (setup.exe).
It should not ask for any prompt, is there any way in installshield to do that?
If you have the msi which was used to install the software, You can create a custom action that performs silent uninstall of that product by using:
msiexec /uninstall <msi file> /quiet
(or, for Windows XP/2003: /x <msi file> /qn)
If you don't have the original msi, you need to know, or figure out, the Product Code of that software and use
msiexec /uninstall <product code> /quiet
Figuring out the product code can be done in several ways, a lot of information about it is available, such as here.
Related
I have created dummy MSI using wix and used APPDIR property with one folder path for installed location .I imported this msi in to install shield and installation got success via install shield installer but I want to change the APPDIR value through install shield installer UI . Please give me the right way to proceed in install shield .How to interact with msi in installed?
If you're calling the MSI directly from the command line it is just a matter of adding PROPERTY=VALUE on the command line after the install switches. If you're calling the InstallShield bootstrapper (setup.exe) then you'll have to wrap it in a /v switch.
I have a msi installer created on windows, I put the msi into linux platform and I use 7z to extract content of msi installer, after that I used lcab command for extract and change some files, also using lcab command I put all files that I modified into cab. Now I need to restore msi, any idea?
You can use msi-packager.
Can be installed on Ubuntu/Debian using:
sudo apt-get install msitools nodejs npm
sudo npm install -g msi-packager
https://www.npmjs.com/package/msi-packager
Here is the full procedure to manipulate MSI files under Linux. The idea is export the MSI content to XML, modify the XML and then repack de MSI file, you can modify even the EXE files, not only tables:
Install WINE 32 bits version
Install WineTricks, you need it for DLL and frameworks installation.
Install .NET2.0, .NET4.0, MSXML6, VCRUN6 with winetricks (easy as ./winetricks dotnet20 dotnet40 msxml6 vcrun6)
Download MSI2XML & XML2MSI executables from the [official project page(https://msi2xml.sourceforge.io/)
Execute wine msi2xml installer.msi
Edit the XML file, then, pack again with wine xml2msi installer.xml
You are done, here is your MSI file!
Hope that helps, with MSI2XML & XML2MSI you can manipulate MSI files under Windows but also under Linux with WINE and it's 100% working solution.
I am using InstallShield Express Spring 2012 SP1. I would like to run the SQLLocalDb_x64.MSI from a custom action.
Is it possible to run an MSI from a custom action in InstallShield Express?
As a general rule, you cannot run an MSI as a custom action on Install Execute Sequence in another main MSI package. Windows Installer does not allow two MSI packages to run at the same time, so you will get an error message.
The standard approach for launching an MSI conditionally from another MSI is to embed it as a chained package.
Unfortunately I don't use InstallShield Express, so I don't know if it supports chained packages, usually this feature is available in a commercial edition.
I am fully agree with Bogdan, but there is one trick. You can run msi from custom action at the end of your installation after InstallFinalize phase. You could use the following CA: InstallIntStd 226 SystemFolder msiexec.exe /passive /i "[SOURCEDIR]YourSetup.msi"
Where:
InstallIntStd name of custom action;
226 Type: An asynchronous execution of EXE without waiting result;
SystemFolder Directory where msiexec located;
msiexec.exe /passive /i "[SOURCEDIR]YourSetup.msi" Launch string.
I need to install vcredist_x86.exe (Microsoft Visual C++ 2010 Redistributable Package) quietly. I entered "vcredist_x86.exe /q" on cmd.exe. However, vcredist_x86 didn't install successfully. I used Task Manager to inspect what happened. I found out that a process named "msiexec.exe" keeps alive until you kill it.
VC++ 2005 is made with older version so arguments /q (/qb) or /passive /norestart will not work (mentioned here: http://blogs.msdn.com/b/astebner/archive/2010/10/20/10078468.aspx).
For quiet mode use /Q switch, to get all parameters run vcredist_86.exe /?
To silently install the VC redist, merge the vc redist MSM into your own App's MSI and avoid the need to run a separate EXE at all.
Martyn
PS: Don't kill msiexec. You'll get your machine into a bad state.
My Windows application runs under Wine, but the installation is a bit of a headache for laymen, and the wrappers I've seen online (PlayOnLinux, Wine Doors) require even more packages to be installed. Is there a way to make a package that will install Wine if the user needs it to be installed, install the application and shortcuts, all with minimal user hassle?
I don't believe there's any pre-made way to do this, but you could probably make a Debian package pretty easily that would depend on Wine, copy an MSI onto the machine, then run Wine's msiexec /i /q as the post-install script
Edit: Make sure to think about the uninstall case too! I.e. in the pre-uninstall script, run msiexec again as well.
You can bundle Wine -- that's what Picasa does -- or you can just make your package list Wine as a dependency; then the user's package manager will automatically install Wine for the user when they install your package.
Ideally your Linux package wouldn't run the Windows installer, but rather have all the files already unpacked.
The trick is to arrange for the files your package installs in /usr to show up in each user's .wine directory. You can look at how Picasa does this, but really the Wine community needs to document how to do this much better.
As always, ask at winehq.org if you need more info.
If you'd like to target the Mac OS, you can use WineBottler:
http://winebottler.kronenberg.org/
This project exists just for bundling Wine into a native Mac .app bundle in a way that's fairly hidden from the user.
Answer is simple:
Create Elf installer.
Pack Elf installer onto Exe installer resources.
Exe installer should unpack Elf installer on startup.
Exe installer must tries to run Elf installer after unpack (system call or some think).
If operation fail, we do normal install.
If operation didn't fail, we close Exe installer.