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.

Software
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

Comments

Please log in to comment

Community Chosen Answer

2
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.
Answered 04/14/2016 by: VBScab
Red Belt

  • 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?
Please log in to comment

Answers

1

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]


Answered 04/18/2016 by: VBScab
Red Belt

Please log in to comment
0

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.

Answered 04/23/2016 by: Badger
Red Belt

Please log in to comment
Answer this question or Comment on this question for clarity