I have recently gone through the experience of trying to install Acquia Drupal 7 using Microsoft's Web Platform Installer V4.0 using a MS-SQL Server 2012 database. Suffice it to say that the experience was somewhat unpleasant and, as yet, unsuccessful.

For the benefit of the many who will undoubtedly be lead down this track via Microsoft's WPI V4.0 I wanted to share my experiences, point out some of the problems and their solutions and seek some answers to the problems that I am still having.

Let's start at the beginning.

I have a fairly standard Microsoft Windows 7 Professional (64 bit) PC. I had already installed Microsoft Visual Studio 2012 web edition, PHP v6.4.8 and IIS7 with MS-SQL 2012 which had been configured and tested to ensure that PHP was working perfectly. Following the recommendation found on Drupal's main website I attempted to install Drupal 7 using the Windows Platform Installer v4.0.

All went well until I noticed that WPI wanted to install PHP version 5.3.13 (this was listed as a "dependency") even though v6.4.8 was already installed. Reluctantly I agreed and WPI then promptly then trashed my carefully configured v6.4.8 installation and replaced it with the much older preferred version. (Source of Angst #1).

The next hurdle quickly emerged when WPI demanded that I provide the 'sa password' (that's the SQL System Administrator Password for the uninitiated) for my SQL 2012 server. When I installed SQL 2012 I specified that it should use Windows Authentication mode for access - the recommended installation procedure - thus I had no idea what this 'sa password' could be (Source of Angst #2)! After much research I learned that there was no way to find it out and that I had to "reset the sa password". Easier said than done (Source of Angst #3!).

I read through forum after forum and tried many scripts that would, according to their authors, reset the sa password. All failed. After much trial and error I finally discovered a technique that worked which I will now share with you:

First you must change the SQL Server Authentication Mode

Step 1: Launch SQL Server Management Studio and login using the default Windows Authentication mode.
Step 2: Right-Click on the Server (top entry) and select 'Properties'
Step 3: Select the 'Security' icon at left and notice the 'Server Authentication' settings at right
Step 4: Select the 'SQL Server and Windows Authentication mode' radio button
Step 5: Click on 'OK'

Both authentication modes should now work.

The next step is to reset the sa password to something you can remember - Still using SQL Server Management Studio

Step 1: Expand the 'Security' folder in the left tree
Step 2: Expand the 'Logins' folder
Step 3: Right Click on 'sa' and select properties
Step 4: You should now see that under the heading 'Login Name' that the 'SQL Server authentication' radio button is selected. If it isn't then reboot your computer and return to this same point and continue.
Step 5: Enter your new 'sa password'
Step 6: Click 'OK'
Step 7: Reboot your computer.

Your have now set the sa password for your SQL Server.

To test that your new password has been accepted: Launch SQL Server Management Studio again, select the SQL Authentication mode, enter 'sa' for user and your new password.

Note: when I tried this the first time I got an error message which said:

A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (Microsoft SQL Server, Error: 233)

I spent a lot of time trying to track down this error and played around with enabling TCP and disabling 'pipes' etc none of which worked. I did learn one very important point though which I would urge everybody to remember. Don't take a great deal of notice of error messages because they are often VERY misleading. If you encounter an SQL Server Error you should go immediately to the Server Error Logs and look for the detail of the error. In my case the logs showed a very simple problem had occurred: the 'sa login' was not enabled!

Here's how to enable the sa login:

Step 1: Launch Microsoft SQL Server Management Studio
Step 2: Expand 'Security' Folder at left
Step 3: Expand 'Logins'
Step 4: Right Click on 'sa' and select 'Properties'
Step 5: Select the 'Status' icon at the end of the list at left.
Step 6: Click the Login 'Enabled' radio button and ensure that the 'grant ' permission to connect to the database engine radio button is selected.
Step 7: Click 'OK'
Step 8: Reboot your computer.

You should now have a fully function, dual authentication mode SQL Server setup with a known sa password.

Having achieved all of this over several hours I was then able to restart Microsoft Windows Platform Installer v4, select Acquia Drupal 7 and successfully complete the WPI installation routine.

Unfortunately for me, the next phase of the installation failed .... and this is where I am still at a halt.
When the WPI finished it launched a webpage for the following address:

http://localhost/Drupal7//install.php

but this returned an error message as follows:

HTTP Error 500.19 - Internal Server Error
The requested page cannot be accessed because the related configuration data for the page is invalid.
details of which are:

Module: IIS Web Core
Notification: BeginRequest
Handler: Not yet determined
Error Code: 0x8007000d
Config Error:
Config File: \\?\C:\inetpub\wwwroot\Drupal7\web.config
Requested URL: http://localhost:80/Drupal7/install.php
Physical Path: C:\inetpub\wwwroot\Drupal7\install.php
Logon Method: Not yet determined
Logon User: Not yet determined

I would be very grateful for any advice and/or assistance in completing this final step as there is little out there on the web that relates to WPI v4/Drupal7 installation errors.

For the developers of Drupal7 and Microsoft the significant issues I have identified need to be addressed:

(1) Why doesn't WPI recognise (and accept) a later version of PHP that is already installed?
(2) Why doesn't WPI accept Windows Authentication mode as a valid SQL Login method -or- at least automatically switch on dual authentication and ask the user for a new password?

Comments

alar’s picture

It seems that Drupal is no longer available using WPI. That's one solution :/

heine’s picture

It is still available. Both Acquia Drupal and Drupal Commerce Kickstart can be found on the category "Applications > CMS".

Webmatrix 2 can be used as a light-weight alternative to WebPI.

bmatraceyspencer’s picture

It seems that the config file references the IIS URL Rewrite Module, but the WPI doesn't install it. To check that that is your proble, remove the following lines from your config file and try reploading the install.php page.

<rewrite>
      <rules>
        <rule name="Protect files and directories from prying eyes" stopProcessing="true">
          <match url="\.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$" />
          <action type="CustomResponse" statusCode="403" subStatusCode="0" statusReason="Forbidden" statusDescription="Access is forbidden." />
        </rule>
        <rule name="Force simple error message for requests for non-existent favicon.ico" stopProcessing="true">
          <match url="favicon\.ico" />
          <action type="CustomResponse" statusCode="404" subStatusCode="1" statusReason="File Not Found" statusDescription="The requested file favicon.ico was not found" />
        </rule>
        <!-- Rewrite URLs of the form 'x' to the form 'index.php?q=x'. -->
        <rule name="Short URLs" stopProcessing="true">
          <match url="^(.*)$" ignoreCase="false" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
            <add input="{URL}" pattern="^/favicon.ico$" ignoreCase="false" negate="true" />
          </conditions>
          <action type="Rewrite" url="index.php?q={R:1}" appendQueryString="true" />
        </rule>
      </rules>
    </rewrite>

If the page loads, that is your problem, so you need to install the IIS URL Rewrite Module.

mflopez’s picture

I have tried to determine from this and other posts what the right way (as in what REALLY works) to install Drupal 7 on Windows 2008 R2 is. Every post seems to end without a reply that says "This is how you do it and it REALLY works!"

For someone about to try installing Drupal on Windows, this lack of clarity and certainty is discouraging.

Could somone who has done this please post (or link to) a proven installation checklist?

Thanks!