24 ms·
Introducing PackageManagement in Windows 10
- dvdcxn 12y agoAs someone who isn't very familiar with package managers, what does this mean for Chocolatey?
- cwyers 12y agohttps://groups.google.com/forum/#!topic/chocolatey/a8WdEoF-M58 https://groups.google.com/forum/#!topic/chocolatey/a8WdEoF-M... > What does this mean for Chocolatey? More awesome. More security. More better. Chocolatey is going nowhere, OneGet is a core API that enables package managers to hook in and take advantage of Windows components easier. > The best understanding I have is that OneGet is shipping with a prototype plugin compatible with Chocolatey. Right now this means that it is separate from Chocolatey. We will be working with Garrett to bring the plugin over to core Chocolatey as we rewrite the Chocolatey client in C# this year. > Right now folks are getting up in arms as they see this as a replacement for Chocolatey and it is not. Chocolatey will need to build a few hooks for use with OneGet.
- towelguy 12y agoSo Chocolatey is gonna use OneGet in the back? I was thinking it would be a package provider for OneGet instead.
- squeaky-clean 12y agoI don't know much about how this works, but it looks like that's exactly it. https://github.com/OneGet/ChocolateyProvider https://github.com/OneGet/ChocolateyProvider
- mc32 12y agoLooks like it means it could get more traction usage as it gets included in this aggregator. One hopes this alleviates the pains in delivering and managing SW packages on win machines.
- drzaiusapelord 12y agoWell, I don't feel like it really had any future. Sysadmins knew MS was going to launch this thing soon and Chocolatey requires trust in some random third party, which is unsettling. My understanding is they recently tried a more linuxy volunteer based system, but frankly its too little too late. I'd say once this launches Chocolatey is dead. I guess it could work with this system, but why bother with all of its liabilities? You can just build a local package source on a shared drive and call it a day. Or I could see an official one eventually hosted by MS. Enterprise needs some level of protection against poisoned sources. Also, word to to wise, if you want to push your software in an environment full of regulations, PHB's, etc pick a professional name for it. There's a reason people pay for Photoshop or use Paint.net instead of The Gimp. Or why the FCK editor goes by the name CK editor now.
- igravious 12y agoI recently blogged about the Linux world needing something like this. http://leto.electropoiesis.org/propaganda/plugins-and-packages-and-extensions-and-bundles-oh-my/ http://leto.electropoiesis.org/propaganda/plugins-and-packag... I hate having to individually update my Wordpress install, my Rubies, my system packages, my IDE (be it Eclipse or Android Studio), a separate TeXLive install from the OS packages, even Vim now has its own package management with Pathogen... There must be some way to _unify_ this proliferation of software update mechanisms. edit: It would be ironic in the extreme if Windows of all platforms manages to get this out the gate before the Linux community considering how awesome stuff like apt-get, yum, and emerge are... Oh well, just goes to show that open-source giveth with the one hand and taketh with the other.
- Sir_Substance 12y agohttps://xkcd.com/927/ https://xkcd.com/927/
- lqdc13 12y agoThey should just all be in PPAs on Ubuntu.
- brusch64 12y agoHave you ever tried ninite (https://ninite.com/ https://ninite.com/) ? Not perfect at all - but at least it works for some of the freeware utilities / programs I'm using on my windows PC. Simply run the generated exe to install the program. Run it later to update the program.
- 12y ago
- WorldWideWayne 12y agoPlease give us something that doesn't require PowerShell, since PowerShell never just works. Just look at the ridiculous bullshit that you have to deal with when you want to use Chocolatey (from the Chocolatey install guide): Note: You must have your execution policy set to unrestricted (or at least in bypass) for this to work (Set-ExecutionPolicy Unrestricted). There have been reports that RemoteSigned is enough for the install to work.
- Aleman360 12y agoPowerShell is disabled by default for security reasons. It's one command to enable it.
- WorldWideWayne 12y agoYeah, one command - on every machine... Meanwhile on Linux, I don't need to do any special configuration to run scripts.
- dragonwriter 12y ago> Yeah, one command - on every machine... I think Microsoft envisions centrally-managed environments, rather than those with lots of Windows machines that aren't centrally managed.
- theg2 12y agoYou do if those scripts can affect the system and need to run as root. Powershell is incredibly powerful (and dangerous) and some security isn't the worst thing.
- swasheck 12y agothe irony of this is that if ms were to leave powershell open to run any scripts from anywhere at any time, they'd be ridiculed for lax security policies.
- hetman 12y agoThis really is an audacious proposal and will be an awesome tool if they pull it off. For now there is still a long way to go. There is no command for upgrading a package version yet for example; in fact, when I looked at this a month ago, if you force it to install a newer package version without uninstalling the old one first, it simply seems to forget the old one ever existed and leaves associated files behind. Hopefully a lot of this will be ironed out by the time Windows 10 is released.
- outworlder 12y agoOh, wow. Please, can I get a decent command line now?
- maccard 12y agoYou mean like PowerShell?
- maratc 12y agoNo, the one with history going back more than an hour, and tab completions on anything except files in `pwd`.
- tomswartz07 12y agoPerhaps I missed it, but the article doesn't mention this in any way: Windows ABSOLUTELY needs a way to go from 'Fresh Install' to 'Fully upgraded' with minimal interaction. Linux can do this: run `apt-get dist-upgrade` in Ubuntu, and you get all of the most recent updates. However, in Windows, you install 3 updates, restart, install 5 updates, restart, install 110 updates, restart....
- BinaryIdiot 12y agoYeah I think they need to address this but it's going to require a pretty big, fundamental change so it might take a while. It's certainly needed.
- drzaiusapelord 12y ago>restart This isn't going to happen. MS is tied deeply into restarting due to how it loads libraries and other issues. Unless they write a new OS from scratch and give up on legacy compatibility, well, don't hold your breath.
- level 12y agoI don't even mind the multiple restarts, the part that bothers me is that I have to babysit Windows Update as soon as my machine finishes restarting, tell it to get updates, tell it to install now, and then have it restart again. If Windows Update could collect all the update packages, and I could leave it alone for 20 minutes and come back to a fully updated system, that would be fantastic.
- glesica 12y agoYeah, this seems like it should be pretty straightforward (I'm sure it is harder than it seems, but still). Set a flag that persists through multiple reboots that says "after Windows loads, if there are updates, apply them and reboot, repeat, otherwise unset the flag".
- tomswartz07 12y ago
- lmedinas 12y agoWindows badly needs this to be a general Development OS. Lot's of developers in the last years run away from Windows to OSX and Linux because of this. Without Visual Studio, which installs the C++ and .Net dev env, it's a pain to install anything which works out of the box in Windows. Example: Perl or Python both have an installer but you have to update the system PATH, the console sucks so you can never use it, no simple way to keep it update unless you use the installer again and so on... If all these goodies are available in a "unixy away" i'm sure Windows will be used by general Developers.
- theandrewbailey 12y ago> Without Visual Studio, which installs the C++ and .Net dev env, it's a pain to install anything which works out of the box in Windows. Depends on what you're working with. I don't have VS on my Windows machine at home, but everything tends to work out of the box. Granted, I see plenty of installers with the VS Runtime redistributable, but that's not proper VS.
- k-mcgrady 12y ago>> "Without Visual Studio, which installs the C++ and .Net dev env, it's a pain to install anything which works out of the box in Windows." On Mac don't you need to installed the Xcode command line tools before being able to do most dev stuff?
- evilduck 12y agoThat's the easiest way, but not the only way. Likewise, on Ubuntu you also often need build-essentials and various other dev libs manually installed.
- lmedinas 12y agoDo we really want to compare "sudo apt-get install build-essentials" with installing all VS, Perl,Python etc... in Windows ? :)
- 12y ago
- eliaspro 12y agoAlthough I applaud the efforts, at the current state that's just sugarcoating the nastiness of code-executing installers. A package installation should basically just deploy the components of a passive package archive to the filesystem and leave any actions to the package manager. This solution doesn't even provide a generic interface e.g. to run a query which file would be provided by which package or to which package a specific file in the filesystem belongs to. The installation process still relies on mostly uncontrollable code execution.
- seanp2k2 12y agoWell, how else would windows software give you an option to decline to not skip disabling the installation of their system heath turbo-boost quick launch tray toolbar search engine registry cleaner by checking a box?
- davidgerard 12y agoFUCKING YES. Good package management (apt in particular) is a magnificent feature of Debian/Ubuntu. The barest approximation of dependency-management in Windows is supplied by Ninite.
- acd 12y agoI wrote to m$ requesting this feature a few years ago, happy it got implemented regardless of they listened or not. It will be good for security and admins/devops.
- SwellJoe 12y agoI was going to say, "Finally! They've gotten it right after all these years of sucking so hard as to be unusable on servers." But, I did some digging into the github for OneGet (https://github.com/OneGet/oneget https://github.com/OneGet/oneget)... And, they haven't gotten it right. Windows package management still sucks so hard as to make the OS unusable on servers (and annoying as hell on the desktop). This is seemingly a simple-minded downloader, with none of the capabilities I would expect of a modern package manager. Sure, it's nice that it can download and install stuff from the command line (and it's idiotic that it's been so difficult to do that in the past), pulling from a variety of sources. But to imply that this is somehow comparable to apt or yum is disingenuous, at best. I'm guessing it's simply ignorance; Windows folks usually have no idea what they're missing (if they did, they couldn't possibly tolerate how bad it is). I can find no mention of dependency resolution, for starters, which is the core reason apt and yum are magnificent. Nothing about querying for what files or commands are provided by which packages. Basic validation tools (i.e. if I uninstall or upgrade X, will Y break?), also seem to be missing. In short: It's simply not a package manager in the sense we mean when we speak of apt or yum. "Lipstick on a pig" is a saying that might apply here.
- alkonaut 12y agoIs application dependency management in windows normally a problem? Apart from the odd runtime, I expect Windows applications to be pretty much self contained, and not dependent on any system-wide libraries (which is a huge benefit I think). For development it's a different story, there you can have several levels of dependencies, but there NuGet at least appears at least as powerful as similar options on other platforms.
- SwellJoe 12y ago"but there NuGet at least appears at least as powerful as similar options on other platforms" That seems unlikely (i.e. can we upgrade the whole OS with NuGet?), but it does look like it is, at least, aware of some of the problems an actual package manager solves.
- 12y ago
- _RPM 12y agoBut where will the software come from? Do you have to hook up your credit card to the package manager?
- deevus 12y agoIt's not exactly a package manager (it doesn't do proper dependency management) but for development I absolutely love Scoop[1]. It makes it so simple to get tools for Windows command line without Cygwin. Disclaimer: I'm a contributer [1]: http://scoop.sh/ http://scoop.sh/
- ddingus 12y agoWell, one small step. I first encountered package management in SGI IRIX. IRIX had a "mini root", which was an installer, subset of IRIX, running single user mode. Just know it's there for now, and hold that thought. Most of the time, people launched "swmgr", which put a nice GUI on top of "inst", which was the actual tool doing the work. Inst eventually could pull from an http repository, and of course, worked with file based ones, mounted however made best sense. That thing was seriously potent! One time, I needed to setup Alias renderer software on a bunch of machines to push out a little movie. So I just did it, remote displaying the gui on my O2 after mounting a shared image to work from. Asked them all to load it, and about half reported out of space. Right MID INSTALL, I was given the option to do some removals, so I did, at which point the primary task could continue. Short story was it took about 30 minutes to blast some renderer software onto about 10 IRIX boxes, all with users logged in, doing stuff. (Yes, I looked at what they were running, and pulled some sub-systems that wouldn't impact them, and no, they didn't ever know it was done, but for some disk activity) After authoring a little script to push frames around, I set 'em all to render with every free cycle, and as users left the building, added a renderer process and escalated the priority of both. It all got done, I pulled the software, and on the machines that I had pruned from, put that all back, and never heard a peep. Awesome. No reboots. The other notable thing was taking my very first IRIX filesystem from a modest Indy, all the way through to a multi-CPU Origin system. Each time, I would clone it, setup on a new box, launch that mini-root, have it evaluate what was there, issue a couple of commands to keep configuration, update system, go. And it would update all the libraries, drivers, and assorted bits to run on the new box. From time to time, I would need to do a little cleanup, maybe touching an unmanaged application and a setting or two, but I really did carry one file system through about 10 years of computing, using a package manager to keep it sorted with basically zero issues. This was mid 90's. Linux has most of those features today, (hello apt get!) and it's a bigger mess of packages, but then again, there is a whole lot more managed now than IRIX had. Some companies would produce managed packages and sync up with SGI, and those were great. Others were tarballs. Oh well. One could make packages and go that way, and I did a time or two, but mostly didn't. The thing I liked the most about that era of software, and about IRIX in particular, was how just about every single thing was written to be effective and useful on the command line, and in scripted form. Additionally, most everything had a --gui, or --verbose option, or both that would improve on the console I/O to the point where a gui could just be a wrapper, able to do what it needs to do without there being anything separate needed. When in single user mode, or remote console, terminal, whatever, really didn't matter. One could script, run a gui, command line, whatever, and it all just worked fine. Back then, I saw Linux growing, and also later, saw Linux start to get the better bits of IRIX as SGI moved off IRIX and MIPS and onto Linux Itanium. That caused me to pick up a copy of Redhat 5.2 and begin switching over. One of the best moves I ever made actually. So those days on IRIX are long gone, but I really do miss the fantastic systems engineering, package management, and documentation they shipped. It was complete, and if you went digging, what you needed to know actually shipped on the box with very, very few exceptions. Windows... Yeah, it's better now. I run it all the time, and that's due to some software and the niche I'm in. No worries. But it really never did compare to the work SGI did in the 90's. Few things have. I'm glad to see this. Just like I'm glad to see lots of things in Microsoft land, many way overdue. I just wish it would launch a bit more complete and be a bit less painful before it really settles in and works well. Maybe somebody should give these guys a tour of computing outside the bubble. There were a lot of really great things done. Seems to me, getting them done again, now, unabashedly is the right move. No shame. Just do it. Lots of us would be a lot happier, and we really don't care where it comes from. Just nail it for those of us who have to continue to run the OS. Thanks.