Can PowershellStudio build .msi files in bulk?

Use this forum to ask questions after your subscription maintenance expires or before you buy. Need information on licensing or pricing? Questions about a trial version? This is the right place for you. No scripting questions, please.
Forum rules
Only the original author and our tech personnel can reply to a topic that is created in this forum. If you find a topic that relates to an issue you are having, please create a new topic and reference the other in your post.
Posts: 1
Joined: Sun Mar 29, 2020 5:03 am

Can PowershellStudio build .msi files in bulk?

Post by JFAguilera »

Hi, we need to create around 5000 .msi files, one for each user in our company.

Each .msi file is composed by the following files:

1. A setup.exe file.
2. A .cert file.
3. A .ps1 file.

The .ps1 file must do the following: Import the .cert file and call setup.exe file with some params, example: setup.exe /username username.

The .msi file will be installed on each user's PC, out from our domain network, so we can´t use environment variables in the package to get samAccountName for each user or something like that.

Can Powershell Studio or any other tool be useful in this scenario?

We currently use InstallShield as packaging tool, but this would take so much time to generate 5000 .msi files with this software.

User avatar
Alexander Riedel
Posts: 7601
Joined: Tue May 29, 2007 4:43 pm
Answers: 2
Been upvoted: 6 times

Re: Can PowershellStudio build .msi files in bulk?

Post by Alexander Riedel »

If I understand this correctly you want to build 5000 .msi files, where the difference between the files is the powershell script included. the setup exe and the .cert file are constant. Correct?
If so, you create that setup once for testing. You can add the .ps1 file as a custom action to be executed right after installation.
If successfull, you write another script, which will
- modify the included .ps1 to include your username in the call to setup.exe
- execute psbuild.exe /MSI <yourscript>.ps1.psbuild
- rename the resulting MSI according to some naming scheme allowing you to distinguish the files.
- loop 5000 times

This should not take too long to give you the 5000 files.

The question I have though, can you not just include a table with a machine name / user name association that would allow ONE MSI to be installed for all machines?
The machine name can always be determined and the script would look up the username from a table.
Just asking....
Alexander Riedel
SAPIEN Technologies, Inc.