问题
I have been asked to only deploy files that are bundled into MSI
package. MSI contains 4 files, For that I'm using this command:
`msiexec /a [path to MSI] TARGETDIR =[Application folder path]`
Problem with above command is that it also deploys .MSI
file to specified TARGETDIR
which i don't want. Is there any workaround/way that i can only deploy that 4 files?
回答1:
Not to my knowledge, no. This is an administrative installation, and it is essentially just an extraction of the files embedded in the MSI file along with the MSI file itself - now adjusted to use external source files for installation, and without embedded cab files (making it much smaller than the original MSI).
This extracted folder is intended to be put on the network to allow people to trigger an installation to their computers from this source folder. This allows the feature "run from source" - which allows you to run (parts of) the application directly from the network share. This is rarely used for reliability reasons - and various oddities and bugs.
Administrative installations have many other aspects and these are explained in more detail here:
- What is the purpose of administrative installation initiated using msiexec /a?
- Extract MSI from EXE
Essentially it is an important feature for corporate deployment, application repackaging, patching and to ensure that repair and modify operations from Add / Remove programs run correctly - with access to the necessary source files so you don't have to run off to get your installation CDs/DVSs (back in the day), or find the original installation media in most of today's deployment scenarios. Essentially the feature is more important for corporate use than for home use.
来源:https://stackoverflow.com/questions/48317349/msiexec-a-deploying-msi-filewix