It's finally up on CodePlex! Get it here.
The installer is pretty straight forward. I wanted to do an MSI, but there would be so much customization of the UI and so many custom actions that it would actually be easier to just write it from scratch. So I did. Also, it was an excuse to start coding some WPF.
The home page of this CodePlex project calls out everything you will need to know pre- and post-installation. I just wanted to formally write up a quick doc on the UI so you have some during-installation guidance.
I preset as many of the options as possible. Once you install the Hybrid Provider the first time, the settings are saved in isolated storage. So when you go to use this installer to remove the Hybrid Provider, (why ever you would do such a thing is baffling…except for an update of course) it’ll pick your settings back up.
Here’s what it looks like:
I’ll just go field by field, button by button, and explain each. If you see “[Configurable]” in an explanation, that means that this value is stored in the web.config, and you can change it post-installation. All textbox fields are required except for “SQL Account Password Strength Regular Expression.” “SQL Account Password Minimum Length” and “SQL Account Password Minimum Number Of Non-Alphanumeric Characters” must be non-negative integers.
That’s the UI! Once you enter everything in, click “Install.” This will copy files, GAC assemblies, and kick off stsadm commands. Below is an example of the output you’ll get (hopefully all successes like mine!) so you can debug if necessary.
One of these files is a generic login control that I’ve tweaked just a bit (and I leave up to you to customize), which needs some more discussion.
When you set up a forms-based authentication provider in SharePoint’s Central Admin, (which I do for you) you have the option to “Enable Client Integration.” This is OFF by default, and there’s even a little message dissuading you from turning it on. The message then goes on to say that users will then have to edit documents offline and then upload them.
Well that’s horse poop. I enable the hell out of client integration! All you have to do to get it to work is make sure users check the “Remember Me” box on the login control. This creates a cookie that not only lets SharePoint remember them, but also allows Office to communicate with SharePoint and work the same as though they were communicating through AD.
That’s all! Have fun, and please feel free to Email me with any questions!