NuGet package from MSI

Feb 27, 2012 at 11:49 AM

I have a VS solution with many projects.
I have created a setup project that generates MSI.
The deployment involves creating registry entries, shortcuts etc.
However, NuGet is appealing in terms of broad deployment to the whole organization.
My questions are: 

  • Does NuGet replace MSI? If so should I imitate the setup process operations with power shell? 
  • Does a solution of wrapping a MSI is possible and counts as best practice solution? 

I'm a bit confused, I'll highly appreciate if someone will clarify the context for me.

Thanks in advance,Yaron. 

Feb 27, 2012 at 3:53 PM

NuGet does not replace MSI. While you could potentially create a NuGet package that installs an MSI through our extensibility points (such as the PowerShell hooks), this isn't a scenario we support or encourage. NuGet is designed primarily to deliver assemblies and content for individual projects (and manage the dependencies required for that delivery), not to install system-wide software or make system-wide environmental changes.

Feb 27, 2012 at 4:15 PM
While NuGet does not support this behavior, Chocolatey is designed to do exactly what you are asking.

You can distribute an MSI from a network share with a chocolatey nuget package. Or you can do everything through PowerShell. Think of chocolatey as a PowerShell wrapper around NuGet (with some helper scripts).