Best way to create an MSI package installer


I have a program that I would like to automate for installation with Group policy.

What is the best tool (ignoring cost) to use to build the MSI?

My company is licensed to use Visual studio. Would this be the easiest way to go?

The installation procedure is extremely simple.  Run the program installation and then start the program's service (and set it to automatic start in services).

The installation does not require nay user input, so switches / mst file is not requred.

Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Vadim RappCommented:
The best tool (from my subjective point of view) is (was) Wise for Windows Installer. But couple of years ago it was purchased by Symantec and accordingly discontinued, like everything Symantec does.

Visual Studio was able to create an MSI until 2008. After that they discontinued that part.

You can get free WiX, an addon for Visual Studio, but it's not very user-friendly.

That said, the philosophy of .Net deployment is that you don't actually need an installer. Build the product directly to a network share, and have the users run it from there. All they need is a shortcut. Or consider clickonce deployment - here's the article about administering clickonce in corporate environment:

Back to MSI, here's a modern webpage with the list of current products:

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Shaun VermaakTechnical SpecialistCommented:
I use WIX for all my installations with Visual Studio and never found anything it cannot do
mbudmanAuthor Commented:
My only goal is to install a program. It does not require user input to install. All I do is check if the program is installed, run installation, and start the service.

I just want to automatically deploy this program via group and not have the installation depend on the user.

It would seem that MSI is the easiest way to go, buy my program to install does not have an msi.

What would be the easiest way to proceed as well as meet my goals?

I cannot reboot (very easily) the servers where the program is to be installed, but the program that gets installed does not require an O/S boot following installation.
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

Vadim RappCommented:
This program that you are going to install - is it your own, that you made in Visual Studio?

If so, build it to a separate directory on a server share, and in group policy/preferences create a shortcut to it.
mbudmanAuthor Commented:
The file installs the program through a batch file. Here is what I am trying to accomplish:

New server (Windows 2016 or Windows 2016) appears on the network. The server is then added to the appropriate organization unit (OU),

Once AD discovers the new computer in AD (assigned to proper OU), Group Policy is to launch the installation of the software (through a batch file).

One thing to note: group policy does not apply until computer is put in correct OU as group policy does not apply to "Computers" ou.

The servers cannot be rebooted very easily, which means a server will not be rebooted in order for group policy software installation to take place. I want group policy to discover computer and then install the program.

It seems this can be accomplished with an ".MSI", but I am not certain if there is a way to do so with a batch file
Vadim RappCommented:
(sorry for the big delay)

Not a batch file. deployment by group policy works exactly as you described, but the installation it launches has to be an MSI. You assign this MSI to the policy ("assign" being a very specific term designating very specific action in group policy editor).

No server reboot is required. Once you have created group policy, it gets applied to the computer or to the user when Windows starts up, or when the user logs on, so AD determines whether computer or user belongs to the OU and thus whether the group policy applies to it. If the policy applies, AD applies everything that is specified in the group policy, so if there's assigned installation in it, it is launched automatically.
Seth SimmonsSr. Systems AdministratorCommented:
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I have recommended this question be closed as follows:

-- Vadim Rapp (https:#a42455110)
-- Shaun Vermaak (https:#a42455490)
-- Vadim Rapp (https:#a42474397)

If you feel this question should be closed differently, post an objection and the moderators will review all objections and close it as they feel fit. If no one objects, this question will be closed automatically the way described above.

Experts-Exchange Cleanup Volunteer
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.