Tag Info

Hot answers tagged

50

I have worked in development as a release manager, build engineer, setup developer and as an application packager and deployment engineer in large corporations. This is a review of the best (and worst) conceptual and real-world features of MSI. The most common design problems found in MSI files are presented as a separate answer below. I also want to ...


35

You're seeing the dreaded scourge of asynchronous policy processing. It's not a "feature" (and was default-off in Windows 2000 but default-on in Windows XP and above) and causes exactly what you're seeing-- non-deterministic behaviour with processing some types of GPO settings. In a GPO that applies to that computer, add the following setting: Computer ...


32

Just a few benefits: Can be advertised. So that on demand installation could take place. Like advertisement, features can be installed as soon as the user tries to use them. State management is maintained so Windows Installer provides a way to let administrators see if an application is installed on a machine. Ability to roll back if an installation ...


15

I've done this many times with Flash Player (and other software). What you want to do is: Use ORCA to edit it with any customization that you want and save it as a transforms (or save it as a whole new MSI, whatever works for you). Put that new MSI (and transforms) on your software deployment share. Add this software (and transforms) to your existing ...


12

This answer is very much a work in progress and a rough outline. Additions, questions and updates welcome. This list is by no means exhaustive. Add a comment with information about troublesome packages. Typical Problems and Design Flaws Seen in MSI Packages I must also warn that a lot of MSI files contain errors, sometimes serious ones, but trained ...


11

If you check the checkbox titled, "Uninstall this application when it falls out of the scope of management," on the Software Install policy it will uninstall.


10

Virtualise, seriously


8

What is the likely sequence of events in performing an upgrade to a product in this setting? They will likely make a new publication and revoke the old one. Will they use GPO to uninstall the previous version of the product first and then deploy the new MSI? This is TOTALLY irrelevant for you. MSI that are properly coded WILL trigger at ...


7

The type of tool you're looking for is called an Application Repackaging tool. The process would include capturing an installation (take a machine snapshot, run your installation and make customisations, then run a second snapshot to calculate the differences) then compiling the captured data into MSI format. The following are some free tools to perform ...


7

You shouldn't have to start MSI's with elevated privileges if you're already logged-on with an Administrator account. The Windows Installer service will elevate automatically (and prompt you w/ UAC, if your OS is configured to do so). If you're not logged-on as an Administator, you'll want to do: runas /user:<administrator username here> "msiexec /i ...


7

ORCA is "offical" but quite lacking in features. We use a collection of tools for our packaging needs. Some of these tool go far beyond just editing an MSI. Super ORCA WiX Advanced Installer Universal Extractor


7

It most certainly can be done, but you are not guaranteed of the order they're applied. You can set prerequisites which can help handle the dependency tree, but otherwise it's non-obvious what order they get thrown on machines.


6

It is a registry key: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>} or if the platform is x64 and the application is 32-bit: HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}


6

This line will uninstall all versions of JAVA: wmic product where "name like 'Java%% %%'" call uninstall /nointeractive


6

I wouldn't use an MSI to deploy registry settings. An MSI pointed at system settings is a "loose cannon". The MSI thinks it "owns" the key and will be trigger happy removing or reverting it. Here are some details: If you author the MSI badly the component writing the settings will not be marked permanent, and if the MSI is ever uninstalled it will rip the ...


6

Diagnosing 'silent' MSI installation failures can be done like this: Firstly, check your GPO is applying correctly. Use the Group Policy Management Console to run a report on a target machine, and view this report to check that the GPO that assigns the software installation is applying correctly. If this part isn't working right then there's no point in ...


6

If it's an MSI, you're better off using Group Policy Software Deployment rather than a batch. It does exactly what you're looking for without having to test for previous installs. As for your actual question: What will practically happen if we keep just this command in the script, and a user who already has this package installed logs on, and the ...


6

Background Information: Much of the slowness of a Windows Installer session is due to its rollback capabilities. Firstly it creates a restore point prior to install or uninstall (provided system restore hasn't been disabled). Then it will back up all affected files and registry keys during both uninstall and install to ensure that the system can be restored ...


5

I tried the Always wait for the network at computer startup and logon - Enabled setting, but it wasn't until I added this setting below as well that allowed the software to install. Not sure if it was a combination of both settings or not. It's working now, so I'm leaving both settings. In a Group Policy applied to these workstations, navigate to: ...


5

This can happen if the application is already installed but msiexec is unable to uninstall it. Most common scenario is a previous manual install with "Only for me" selected instead of "Everyone who logs on to this computer". You can use the Windows Installer Cleanup Utility (http://support.microsoft.com/kb/290301) to trick the PC into thinking that the app ...


5

You got some good answers here already, but I just want to add the "quick and easy" way : use the "command line builder tool" from Altiris (direct download). I am very experienced with msiexec.exe, but the command lines are so long that it is easy to make mistakes. I prefer to generate the complex ones and eliminate that error source. N.B: hope posting ...


5

Standard Installer Command-Line Options /quiet Quiet display option. The installer runs an installation without displaying a user interface. Examples: msiexec /package Application.msi /quiet msiexec /uninstall Application.msi /quiet msiexec /update msipatch.msp /quiet msiexec /uninstall msipatch.msp /package Application.msi / quiet Note The ...


5

You could try opening the .msi in Orca or other .msi packager/editor and look at the 'Shortcut and File table' to verify the ShortName and LongName entries are correct and valid. The ShortName needs to be a valid 8.3 filename. For example IMPORT~1.DLL


5

Get Process Monitor from Sysyinternals (MS now). Setup the filter to only watch msiexec.exe. It will tell you all that the process is doing.


5

I'd add to the Process Explorer/Process Monitor suggestion - run FileMon and RegMon from Sysinternals too. You can filter/save a log of the msiexec and related processes, export to a csv and have a complete list of actions to the file system and registry. Compare/contrast with what has been written to the Windows Installer log, too. You can also have a ...


5

I just found InstEd, a free MSI editor. Looks OK.


5

The following is what we use, works great as a startup script: on error resume next dim WshShell dim RegKey dim ScriptVerKey Set WshShell = CreateObject("WScript.Shell") 'checks to see if registry key exists, if it does, the cleanup runs. RegKey = "HKLM\SOFTWARE\EDU\Cleanup\" ScriptVerKey = WshShell.RegRead(RegKey & "JAVAOldVer") if ScriptVerKey ...


5

Don't know how Python handles passing commands off to Windows/DOS, but using a plain batch file and the start /wait command the batch file stops and waits until the MSI is done before moving on to the next step. For example, to install a main app, followed by a patch only when it's finished, and then a final program once that's finished, drop these lines ...


5

You cant run a exe with msiexec commands. You need to use supported commands for the exe you are deploying. Check out this site www.appdeploy.com/packages for info on switches for software. Regards. Todd


5

Create a text file named COMPUTERS.TXT and put all the computer names in it, one per line. Then, create a .CMD file with the following code: EDIT I added %%i\ in front of *username to specify the remote machine admin user. EDIT 2 I fixed a typo in the code...changed psexec \\%%1 to psexec \\%%i. @ECHO OFF FOR /F "tokens=1" %%i IN (COMPUTERS.TXT) DO ( ...



Only top voted, non community-wiki answers of a minimum length are eligible