Ingredients and Downloads

  • System Center Configuration Manager Current Branch
  • Visual Studio Code 1.0
  • Git 2.8.1 extension (32 or 64 bit, I chose 64-bit, and so should you)
  • Place both downloads in a common folder for this procedure

Notes

  • You can accomplish this several other ways as well, including Chocolatey and scripting, if you prefer.  This is just one way to do it.
  • The VS Code install is 32-bit, while the Git extension is 64-bit (it’s based on the host operating system, not the VSCode instance)
  • This particular deployment will involve:
    • One (1) Application object, with
    • Two (2) Deployment Types: One for Visual Studio Code, and the other for Git

Procedure Images

app1app2app3

dt1dt2dt3dt4dt5dt6dt7

Procedure

  1. Create a new Application
    1. Manually specify the application information
    2. Fill-in properties (name, publisher, version, etc.)  For my example “Visual Studio Code with Git”, “Microsoft” and “1.0”
  2. Create new Deployment Type (click “Add”)
    1. Type = “Script Installer” (relax, no scripting will be required)
    2. Manually specify the deployment type information
    3. Fill-in properties (e.g. “Visual Studio 1.0”)
    4. Specify Content Location (UNC path)
    5. Select “VSCodeSetup-stable.exe” using the Browse button (refer to Mike Robbins’ info about command-line options: link)
    6. Place cursor in the same box as the filename, at the very end, append  ” /VERYSILENT /NORESTART”.  Should look like this:
      “VSCodeSetup-stable.exe /VERYSILENT /NORESTART”
    7. Place cursor in the “Uninstall program” box and paste in:
      “C:\Program Files (x86)\Microsoft VS Code\unins000.exe” /SILENT
  3. Create a Detection Rule:
    Setting Type = Registry
    Hive = HKEY_LOCAL_MACHINE
    Key = SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F8A2A208-72B3-4D61-95FC-8A65D340689B}_is1
    (yes, that is a rather funky GUID-ish key name)
    Value = “DisplayVersion” (without quotes)
    Data Type = “Version”

    Select the lower radio button (“This registry setting must satisfy the following…”)

    1. Operator = “Greater than or equal to” / Value = “1.0” (without quotes)
  4. Specify User Experience
    1. Installation behavior = Install for system
    2. Logon requirement = Whether or not a user is logged on
    3. Installation program visibility = Hidden
    4. Maximum allowed run time = 60 (if it takes this long or longer, buy new hardware)
  5. Specify System Requirements
    1. Follow the guidelines here.
  6. Specify Dependencies
    1. If you’re deploying to Windows 10, take this moment to stretch and yawn.  If you’re running Windows 7, read the base requirements for things like .NET Framework 4.5, etc. here.
    2. In my case, I left this blank since my target machines have everything needed.
  7. Next / Next / Finish
  8. Create Another Deployment Type, repeat steps 2 – 7 above, with the following changes:
    1. Select the Git installer file (e.g. Git-2.8.1-64-bit.exe) and append the same arguments: /VERYSILENT /NORESTART
    2. Enter uninstall string:
      “C:\Program Files\Git\unins000.exe” /SILENT
    3. Specify the Detection Rule
      Type = Registry
      Hive = HKEY_LOCAL_MACHINE
      Key = SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Git_is1
      Value = DisplayVersion
      Type = Version
      Greater than or equal to 2.8.1
  9. Complete the Deployment Type
  10. Finish the Application

Next steps are the usual stuff:

  • Distribute the content to the appropriate Distribution Points / DP Groups (maybe just a subset for pilot testing at first, then the rest when all is good)
  • Create or designate a target Collection
  • Go!

Let me know if this is helpful or not and what I could do differently to make this a better solution?  Please remember to rate this article – Thank you for reading!

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s