msysgit / git

msysGit-based Git for Windows 1.x is now superseded by Git for Windows 2.x
http://github.com/git-for-windows/git
Other
1.01k stars 316 forks source link

MSI installer required for enterprise deployment via AD #333

Closed alexhass closed 9 years ago

alexhass commented 9 years ago

I'm looking for an MSI installler of Git for Windows to be able to deploy it to windows computers in enterprise environment. Where can I download this MSI setup?

t-b commented 9 years ago

AFAIK we don't have a MSI installer package available.

sschuberth commented 9 years ago

Indeed, there is no MSI, and we're currently not planning to create one. Our installer is Inno Setup based. But there's a Chocolatey package wrapping our installer, and for Chocolatey in turn there's a Puppet provider which might help you with enterprise deployment.

alexhass commented 9 years ago

Can you reopen the case, please?

MSI is a critical feature for enterprise deployment and clean installations with repair functions and Active Directory deployment. Inno Setup in opposite is not enterprise ready and should be discontinued in favor of a MSI setup.

sschuberth commented 9 years ago

Strictly speaking, what you did was asking a support question, not filing a feature request: You were assuming there would be an MSI and asked for its location. If you'd like to make this a feature request for an MSI, then please edit your initial comment and title accordingly, and I'll consider reopening it.

That said, I'll just remind you again that most probably no one from the core team is interested to pick this request up.

sschuberth commented 9 years ago

Reopening to track this as a feature request.

t-b commented 9 years ago

Inno Setup in opposite is not enterprise ready ...

Any particular reasons for this assertion?

sschuberth commented 9 years ago

@t-b Nothing except MSI can be automatically deployed using Active Directory / Group Policy Objects in a Windows enterprise environment.

alexhass commented 9 years ago

We are on Windows... If you need to deploy a software via Active Directory GPO you can only add .MSI files to a GPO. No others are allowed. This makes it impossible to deploy the current .exe file and requires manual installation and updates on computers. A manual installation is not how enterprise installations can maintained.

Only MSI setups fullfil these entereprise need and allow customization like shortcut removal/move and other stuff.

sschuberth commented 9 years ago

If you need to deploy a software via Active Directory GPO you can only add .MSI files to a GPO.

That's true, but ...

This makes it impossible to deploy the current .exe file and requires manual installation and updates on computers.

this is not true, see my comment about Puppet / Chocolatey above. Many enterprise setups, incl. the one in the company I work for, now use Puppet instead of / in addition to AD / GPO.

alexhass commented 9 years ago

We are not using Puppet and I have no need to use any extra software for deployment. Well I could also buy expensive deployment software or rent it, just to make an exe installation possible, but it is not the way how setup software should be written for about several years.

MSI setups are best practice and vendors should provide these files.

Aside, where can I find the setup script file in the repro? I already build MSI setups based on WIX for several open source projects like Notepad++, XMind and others.

alexhass commented 9 years ago

I just checked only a few minutes Chocolatey and I see no way how to automate deployments from a central point like I can do with MSI-AD-Deployments. I see it works like apt-get, but this does not make an automated installation and uninstall if you add/remove a computer from a AD group. I guess you ca build something around with CMD exe on logon scripts, but I'm sure such a "workaround solution" is far away from the same reliability like a MSI deploment, isn't it?

sschuberth commented 9 years ago

We are not using Puppet and I have no need to use any extra software for deployment.

But apparently you have a need to deploy Git, right? And as there is no MSI for it, and there probably won't be one for a long time, I think it makes sense for you to evaluate other options to get the job done, no?

Well I could also buy expensive deployment software

All the software I was mentioning is available for free (the Puppet Community Edition, that is).

MSI setups are best practice and vendors should provide these files.

Commercial vendors that are able to sell their products and support, probably. But demanding this from an OSS project driven by volunteers that do not get a dime for their work? Not so much IMO ...

Aside, where can I find the setup script file in the repro?

The main script is here, helper scripts are in the same directory.

sschuberth commented 9 years ago

I just checked only a few minutes Chocolatey and I see no way how to automate deployments from a central point like I can do with MSI-AD-Deployments.

That is the part where you need Puppet and the Chocolately provider for. Chocolately by itself inded "just" is apt-get for Windows.

dscho commented 9 years ago

@yamlfd please understand that you are asking volunteers to spend time on something you need. Now, by far the best method to get what you want is to spend time on it yourself. You might get stuck at some point, but by then you have so much to show that others are likely to want to help you. That includes me.

So please feel encouraged to give it a try: find out what is required to make an .msi installer. We can easily provide you with a list of files, and a list of executables with preferred shortcut targets.

I would be truly delighted if I could help you with this project.

alexhass commented 9 years ago

As noted - I already build MSI setups based on WIX for several open source projects like Notepad++, XMind and others. I can help for sure if it is not extreme complicated.

alexhass commented 9 years ago

I do not need to deploy a Git server as this is running on a single Debian machine. I'm only talking about the clients required by developers on their desktop.

dscho commented 9 years ago

@yamlfd while Git for Windows ships with a git daemon, it is not installed as a daemon by our installer. Basically, we just ship files as-are. To get an idea what I mean, please have a look at our portable application.

dscho commented 9 years ago

@yamlfd do you have anything to show yet?

alexhass commented 9 years ago

Had no time yet. Start if you have.

We still need to decide if we want to spend the time for rewriting the setup.

dscho commented 9 years ago

I guess it is not such a critical thing, then.

alexhass commented 9 years ago

It is!!! Keep the case open, please.

alexhass commented 9 years ago

The missing msi is a killer criteria. Until now i have not found sny way around git cmd.

dscho commented 9 years ago

I guess it is not such a critical thing

If it were, there would have been plenty of time (almost to the day five months) to prove it.

alexhass commented 9 years ago

If there would be a msi I would have no need to ask here. Until today I just refused installing git to the developers. It looks more and more no option.

kostix commented 9 years ago

@yamlfd, you can take WiX (it's free) and create an MSI package that would include the original GfW package as a binary stream and make it be unpacked and run (with appropriate command-line options, if needed) at the installation phase -- MSI allows doing that.

You could also "preseed" the GfW Inno Setup installation packages using the /SAVEINF and /LOADINF commands (see this) which could allow you to perform silent installs with whatever configuration options preselected -- by packaging the pregenerated INF file and using it at the installation state.


On a side note, I'd like to see a "real" MSI package as well but you should understand, @yamlfd, that making non-toy MSI packages either requires using high-priced "enterprisey" solutions or messing with WiX which is hard (beleive me). And (sorry for putting it straight) you're trying to play victim basically assuming someone among those volunteers behind GfW should step up and try doing this hard work for you. That's understandable (and I sympathise) but not really productive. To put it into another perspective: is your enterprise ready to put their money where its mouth is and actually pay to someone among GfW folks to work on preparing such MSI package? This, I suspect, could really work. (Actually, hiring a WiX expert could work even better, I fancy, as such a package has little to do with Git specifics.)

dscho commented 9 years ago

@yamlfd actions speak louder than words, so there was only one possible conclusion.

linquize commented 9 years ago

WiX is an open-source solution of building MSI package. the learning curve of WiX is higher, because you have to type a lot of XML tags

dscho commented 9 years ago

Ladies and gentlemen, sorry to break the news: talking about it won't get the job done. Correction: talking about it won't even get the job started. Now, I would suggest to either start cracking or retreating in silence and shame. :smiley:

alexhass commented 9 years ago

@Kostix: why do you think it is hard to implement with WiX? I only do WiX and this setup seems doable.

dscho commented 9 years ago

@yamlfd will you please prove us all wrong by showing at least a rudimentary WiX configuration to build a Git for Windows .msi installer? You know that you do not convince anybody by continuing to merely talk...

kostix commented 9 years ago

@yamlfd, the problem with WiX is that it's relatively simple for simple things (if very very verbose thanks to XML) like just installing a bunch of files, but for more complicated things like fixing up permissions and running programs at a post installation phase and handling "conditions" (which is needed for professional MSI packages which properly handle upgrades) working with WiX is an exercise in trying obscure examples from StackOverflow, understanding scarce documentation and trying to make sense of msiexec's debug mode installation logs.

Contrary to this, what Inno Setup makes possible, it makes possible the easy way. It has fewer features than MSI but it's a lot simpler for what it supports.

To recap, being involved in Linux-based systems (RedHat then Debian), I do like proper packaging but developers' time does matter, too. I had experience with both InnoSetup and WiX, and the former wins hands-down when it comes to saving one's time to prepare and maintain a package.