chocolatey-archive / chocolatey

[DEPRECATED - https://github.com/chocolatey/choco] Chocolatey NuGet - Like apt-get, but for windows.
https://chocolatey.org
Apache License 2.0
2.81k stars 344 forks source link

Installing Chocolatey adds Web Server (IIS) Role #399

Open daniel-liuzzi opened 10 years ago

daniel-liuzzi commented 10 years ago

I setup a clean install of Windows Server 2008 R2 Web Edition in a VirtualBox machine. I do not add any Roles or Features. I install Chocolatey by running the following:

@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%systemdrive%\chocolatey\bin

After a few moments Chocolatey successfully finishes installing, but Web Server (IIS) role is installed. Is this normal behavior and IIS is a requirement to Chocolatey, or is this a bug?

mwrock commented 10 years ago

Ahh. This is because Chocolatey uses th WebPI installer for .net 4 which in addition to installing .net 4 also sets up asp.net and there by sets up IIS

Chocolatey does not need this. Clients like 2008R2 that do not have .net4 installed do need .Net4 to work with Nuget.exe but nothing more. I think it would be a good idea to replace the webpi installer with the vanilla MSI install of of 4.0 or 4.5.1 or at least 4.5.

ferventcoder commented 10 years ago

Yeah, methinks we should do something like this: https://github.com/ferventcoder/vagrant-windows-puppet/blob/master/boxes/shared/shell/InstallNet4.ps1

On Sun, Dec 29, 2013 at 8:45 PM, Matt Wrock notifications@github.comwrote:

Ahh. This is because Chocolatey uses th WebPI installer for .net 4 which in addition to installing .net 4 also sets up asp.net and there by sets up IIS

Chocolatey does not need this. Clients like 2008R2 that do not have .net4 installed do need .Net4 to work with Nuget.exe but nothing more. I think it would be a good idea to replace the webpi installer with the vanilla MSI install of of 4.0 or 4.5.1 or at least 4.5.

— Reply to this email directly or view it on GitHubhttps://github.com/chocolatey/chocolatey/issues/399#issuecomment-31331486 .

Rob "Be passionate in all you do"

http://devlicio.us/blogs/rob_reynolds http://ferventcoder.com http://twitter.com/ferventcoder

mwrock commented 10 years ago

yup. exactly.

daniel-liuzzi commented 10 years ago

Thank you guys for your replies. I forgot to mention that along with the Role, I got a few Features installed as well:

Remote Server Administration Tools
    Role Administration Tools
        Web Server (IIS) Tools
Windows Process Activity Service
    Process Model
    .NET Environment
    Configuration APIs

These were not there before installing Chocolatey. I assume it must the same reason (WebPI adding them when it installs .NET 4.)

Now that you bring up WebPI, I remember when I started playing with Chocolatey, I was unsure on which source to use when there are many. For example ASP.NET MVC 3 can be installed from both the default source (i.e. cinst aspnetmvc.install), as well as the from the webpi source (i.e. choco webpi MVC3). I was under the impression WebPI might be the better choice, as it seems more "package oriented" than vanilla MSI, so I was using that. Now I'm not sure. Is the default source better for these cases?

Thanks again.

mwrock commented 10 years ago

It really depends on what you are trying to accomplish. Unfortunately it is not always easy to discover the complete ramifications of each method. WebPI is great but I think the creators of the .net4 webpi package were “asp.net opinionated.” That’s not necessarily a bad thing. Getting all the asp.net/IIS stuff right can be tricky and they were likely trying to guide people to make the right choices. However, in the interest of taking control over your environment, I’d personally prefer the more minimal approach.

From: Daniel Liuzzi [mailto:notifications@github.com] Sent: Monday, December 30, 2013 2:44 AM To: chocolatey/chocolatey Cc: Matt Wrock Subject: Re: [chocolatey] Installing Chocolatey adds Web Server (IIS) Role (#399)

Thank you guys for your replies. I forgot to mention that along with the Role, I got a few Features installed as well:

Remote Server Administration Tools Role Administration Tools Web Server (IIS) Tools Windows Process Activity Service Process Model .NET Environment Configuration APIs

These were not there before installing Chocolatey. I assume it must the same reason (WebPI adding them when it installs .NET 4.) Now that you bring up WebPI, I remember when I started playing with Chocolatey, I was unsure on which source to use when there are many. For example ASP.NET MVC 3 can be installed from both the default source (i.e. cinst aspnetmvc.install), as well as the from the webpi source (i.e. choco webpi MVC3). I was under the impression the WebPI might be a better choice as it seems more "package oriented" than vanilla MSI, so I was using that, but now I'm not so sure. Is the default source better for these cases?

Thanks again.

— Reply to this email directly or view it on GitHub https://github.com/chocolatey/chocolatey/issues/399#issuecomment-31340715 . https://github.com/notifications/beacon/655165__eyJzY29wZSI6Ik5ld3NpZXM6QmVhY29uIiwiZXhwaXJlcyI6MTcwMzkzMzA2NiwiZGF0YSI6eyJpZCI6MjI3MTEzMTd9fQ==--c67744b69d3816356f23944e0abe5e56b580293b.gif

ferventcoder commented 10 years ago

+1 to what Matt said. Prefer more control over what gets installed and more importantly, what doesn't get installed.

jmenchacavr commented 10 years ago

:+1: Don't like having extra stuff installed just for installing installers...

ferventcoder commented 10 years ago

I'm not sure anyone does....

mwrock commented 10 years ago

and technically in this case its for installing the installer to install the installers :)