Single MSI with Multiple .config files with parameters during deployment

I wanted to know how to have a single MSI that contains multiple .config files and that can be used with parameters. All the config files have the same name so they are build with them separately.

The Scenario

Application   (contains deptest.config) 

deptest.config (department 1)
deptest.config (department 2)
deptest.config (department 3)
deptest.config (department 4)

the way its done now is there are 4 differnt msi's built with different department config files in them. 

Application + deptest.config (department 1) = Testdep1.msi     then     KACE Deploy for Dep 1
Application deptest.config (department 2) = Testdep2.msi     then     KACE Deploy for Dep 2
Application + deptest.config (department 3) = Testdep3.msi     then     KACE Deploy for Dep 3
Application + deptest.config (department 4) = Testdep4.msi     then     KACE Deploy for Dep 4

What i would like is

One TEST.msi (with all the config files in it) and use parameters to send it to different department during the KACE Deploy.

Advanced Installer for Making/editing MSI's
KACE1000 to deploy to PC's

Also feel free to suggest better ways doing this. 

Thanks in advance

0 Comments   [ + ] Show comments

Answers (3)

Posted by: anonymous_9363 8 years ago
Red Belt
A quick way would be to have the different files copied to a globally accessible location e.g. somewhere in the 'All Users' profile, using different names. Each file would need to be in a separate component with a condition set. How you differentiate between departments is unknown to us but you would detect that somehow and use the detection to set a public property named, say DEPT_NAME with a value. Your condition would then read DEPT_NAME=FINANCE or DEPT_NAME=OPS. Then use the DuplicateFile table to copy the relevant file to its proper location.

  • thanks for the answer. So to further clarify i would just be able to add /finance or /ops from KACE1000 command line with the single MSI and it would be able to differentiate between the departments. Correct? - anadeem1 8 years ago
Posted by: anonymous_9363 8 years ago
Red Belt

Not quite. You'd need to specify the public property - whatever you decided to name it - and its value on the command line. The condition set on the component, along with the entry in the DuplicateFile table, would copy the relevant file to its target folder:

MSIExec /i "%~dp0whatever.MSI" DEPT_NAME=FINANCE [other command-line arguments, e.g. logging]

Posted by: Badger 8 years ago
Red Belt

2nd attempt at this..

I have done something similar to this.

I would recommend one MSI and 4 MSTs, one for each department putting the correct file for each dept.

Or, one MSI, 4 files (dept1, dept2, etc.) then a batch file for each dept, that would first copy the dept1 file as deptest.config, then install the MSI.

The particularly Gucci way of doing this would be to have one MSI, one MST. The MST would contain 4 components conditionalised, ideally, a method of doing an AppSearch, to detect something on your machine that defines it as dept 1 or dept3 (reg key, env var etc.)

However, I think you are going to be stuck with actually defining that yourself. which would mean either 4 different commandline arguments (to provide the info to make the condition TRUE) or, 4 MSTs each one installing the appropriate file for the dept that you define.

This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ