Can an administration extraction of an MSI file perform registry and/or system wide changes?
- by Wil
I am always getting MSI (or setup EXEs which are basically MSI) files, and half the time they really do not need to be a setup.
Microsoft is probably one of the biggest sources - almost every time I want to download a little source code sample, it has a MSI which if you install, only usually has three files.
I would rather not do an install and add it to the add/remove programs and who knows what else (although I am sure it wouldn't be that bad) for the sake of three files!
For this reason, I always use the following command:
MSIEXEC /a <filename.msi> /qb TARGETDIR=<directory name>
Now, this works fine and I have never had problems... However, I was just browsing some articles on Technet and found the following resource about administration installs.
Apparently, MSI files can have two sequences: The AdminUISequence Table and the AdminExecuteSequence Table.
I am not so worried about the AdminUISequence Table as it states that "The installer skips the actions in this table if the user interface level is set to basic UI or no UI", and this is what the /qb switch I use does.
However, there is nothing similar written against AdminExecuteSequence Table.
I realise that many people who write MSI files simply do it for a single end user and probably do not even touch the admin install options, however, is it possible for them to set items that can affect the system and if so, is there a fail proof way of extracting?
I do already use 7-zip, however despite it being on the "supported" page, MSI support is lacking... well... completely sucks. It looses the file names and is generally useless. They have a bug which was closed with no reason/resolution over three years ago, and I opened a forum post and haven't had a reply.
I would not really want to install any additional programs if I could help it and just want peoples opinions on this.
Thanks.
edit - Should also say, I run with UAC on, and I have never ever had a elevation prompt whilst performing the MSIEXEC operation, so I am guessing I have never had a system wide change, however, I am still curious as to if it is possible... As if changes (even just to the user) are possible I would do this locally/in a VM and never on a server or place of importance!