1

We have just begun experimenting with and using SCCM for software deployments. I have recently written a new Windows Service (in C#) to be deployed to our lab machines. I am wondering what the best approach is to get this service installed from SCCM. Locally I have been installing the service with InstallUtil provided by MS. If the machines do not have InstallUtil this will need to be packaged with my service EXE correct? Along with a batch script to actually do the installation.

This is not my usual area of expertise (I'm a developer) but we have recently lost our sysadmin and I have been asked to assist our new person with this. Just want to have my facts straight and ducks in a row.

thanks

2 Answers2

4

You're probably much better off packaging the application into an .msi to allow it to be deployed natively via SCCM, without any third-party dependencies. If that's not an option, I'd prefer using a .bat and a start up or logon script to deploy my .exe to trying to shove it through SCCM with a second installation utility to make it actually install.

HopelessN00b
  • 53,795
  • 33
  • 135
  • 209
3

The SCCM deployment tool effectively just copies files and then (optionally, if I remember rightly) runs a command line of your choice.

The command line doesn't need to be one of the files that has copied, and it doesn't have to be an installer program. If copying files into place is all you need to do then SCCM can take care of this 'as is'.

If you need to run pretty much any installer wrapper of your choice then you can, as long as it can be executed silently.

SCCM's software deployment is actually pretty simple - it just allows you to build complex things by repeating variations on 'copy this group of files' and 'execute that program/script' until you're happy.

For example, you could create a task sequence that runs two installer packages, one to install the installutil thing and then another package for the thing you're trying to deploy. However, as Hopeless Noob says, I'd agree with using the MSI packaging where I could, unless a package was simple enough to deploy without resorting to that.

Rob Moir
  • 31,884
  • 6
  • 58
  • 89
  • instalutil comes with .NET so will be on most computers, maybe the OP has a different setup but for most systems installutil.exe comes in two flavors, one for x86 and one for 64bit. They are located in the framework folders, for instance on our systems currently at C:\Windows\Microsoft.NET\Framework\v4.0.30319 for x86 and C:\Windows\Microsoft.NET\Framework64\v4.0.30319 for 65bit It is then a simeple task to create a command file installer that can be used in a package or directly as a command line in a package. Of course this makes the installer dependent on the version of .NET, a downside. – sdjuan Oct 13 '16 at 17:40