jmertic Wed, 30 Sep 2009 13:44:28 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=288996
Log:
Bug #47855 - Change the VBScript custom actions to be deferred and not to
impersonate the installing user, so the apache config changes are made as an
elevated privileges user. Solves problem of not being able to install with
Apache under Windows Vista/2008/7.
Bug: http://bugs.php.net/47855 (Assigned) VC6 Thread Safe MSI install fails
Changed paths:
U php/win-installer/trunk/PHPInstallerBase52.wxs
U php/win-installer/trunk/PHPInstallerBase52NTS.wxs
U php/win-installer/trunk/PHPInstallerBase53.wxs
U php/win-installer/trunk/PHPInstallerBase53NTS.wxs
U php/win-installer/trunk/PHPInstallerBase60.wxs
U php/win-installer/trunk/PHPInstallerBase60NTS.wxs
U php/win-installer/trunk/PHPInstallerScripts52.vbs
U php/win-installer/trunk/PHPInstallerScripts53.vbs
U php/win-installer/trunk/PHPInstallerScripts60.vbs
Modified: php/win-installer/trunk/PHPInstallerBase52.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase52.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase52.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -708,7 +708,7 @@
DllEntry="CAQuietExec"
Return="ignore"
Execute="deferred"
- Impersonate="no" />
+ Impersonate="no" />
<CustomAction Id="fcgiconfigJSFastCGISetActivityTimeoutCmd"
Property="fcgiconfigJSFastCGISetActivityTimeout"
Value=""\\localhost\admin$\system32\cscript.exe" "[WindowsFolder]system32\inetsrv\fcgiconfig.js" -set -section:"PHP" -ActivityTimeout:600" />
@@ -784,18 +784,34 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<CustomAction Id="configApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configApache" />
+ <CustomAction Id="configApacheCustomActionDataValue"
+ Return="check"
+ Property="configApache"
+ Value="[APACHEDIR],[INSTALLDIR]" />
<CustomAction Id="unconfigApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigApache" />
<InstallExecuteSequence>
@@ -949,18 +965,24 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
</Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="unconfigApache" After="InstallValidate">
- <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ <Custom Action="configApacheCustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
- <Custom Action="configApache" After="InstallFinalize">
+ <Custom Action="configApache" After="configApacheCustomActionDataValue">
<![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
+ <Custom Action="unconfigApache" After="InstallInitialize" >
+ <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ </Custom>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
Modified: php/win-installer/trunk/PHPInstallerBase52NTS.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase52NTS.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase52NTS.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -651,10 +651,18 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<InstallExecuteSequence>
@@ -748,9 +756,6 @@
<Custom Action="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTS" After="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTSCmd">
<![CDATA[(VersionNT = 502 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
- <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
- </Custom>
<Custom Action="fcgiconfigJSFastCGICmdXP" After="InstallInitialize">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
@@ -793,6 +798,12 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
Modified: php/win-installer/trunk/PHPInstallerBase53.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase53.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase53.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -770,18 +770,34 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<CustomAction Id="configApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configApache" />
+ <CustomAction Id="configApacheCustomActionDataValue"
+ Return="check"
+ Property="configApache"
+ Value="[APACHEDIR],[INSTALLDIR]" />
<CustomAction Id="unconfigApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigApache" />
<InstallExecuteSequence>
@@ -935,18 +951,24 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
</Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="unconfigApache" After="InstallValidate">
- <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ <Custom Action="configApacheCustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
- <Custom Action="configApache" After="InstallFinalize">
+ <Custom Action="configApache" After="configApacheCustomActionDataValue">
<![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
+ <Custom Action="unconfigApache" After="InstallInitialize" >
+ <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ </Custom>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
Modified: php/win-installer/trunk/PHPInstallerBase53NTS.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase53NTS.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase53NTS.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -584,7 +584,7 @@
DllEntry="CAQuietExec"
Return="ignore"
Execute="deferred"
- Impersonate="no" />
+ Impersonate="no" />
<CustomAction Id="fcgiconfigJSFastCGISetActivityTimeoutCmd"
Property="fcgiconfigJSFastCGISetActivityTimeout"
Value=""\\localhost\admin$\system32\cscript.exe" "[WindowsFolder]system32\inetsrv\fcgiconfig.js" -set -section:"PHP" -ActivityTimeout:600" />
@@ -660,10 +660,18 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<InstallExecuteSequence>
@@ -757,9 +765,6 @@
<Custom Action="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTS" After="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTSCmd">
<![CDATA[(VersionNT = 502 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
- <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
- </Custom>
<Custom Action="fcgiconfigJSFastCGICmdXP" After="InstallInitialize">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
@@ -802,6 +807,12 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
Modified: php/win-installer/trunk/PHPInstallerBase60.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase60.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase60.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -695,7 +695,7 @@
DllEntry="CAQuietExec"
Return="ignore"
Execute="deferred"
- Impersonate="no" />
+ Impersonate="no" />
<CustomAction Id="fcgiconfigJSFastCGISetActivityTimeoutCmd"
Property="fcgiconfigJSFastCGISetActivityTimeout"
Value=""\\localhost\admin$\system32\cscript.exe" "[WindowsFolder]system32\inetsrv\fcgiconfig.js" -set -section:"PHP" -ActivityTimeout:600" />
@@ -771,18 +771,34 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<CustomAction Id="configApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configApache" />
+ <CustomAction Id="configApacheCustomActionDataValue"
+ Return="check"
+ Property="configApache"
+ Value="[APACHEDIR],[INSTALLDIR]" />
<CustomAction Id="unconfigApache"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigApache" />
<InstallExecuteSequence>
@@ -936,18 +952,24 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
</Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
- <Custom Action="unconfigApache" After="InstallValidate">
- <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ <Custom Action="configApacheCustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
- <Custom Action="configApache" After="InstallFinalize">
+ <Custom Action="configApache" After="configApacheCustomActionDataValue">
<![CDATA[&apache13 = 3 OR &apache20 = 3 OR &apache22 = 3 OR &apacheCGI = 3]]>
</Custom>
+ <Custom Action="unconfigApache" After="InstallInitialize" >
+ <![CDATA[&apache13 = 2 OR &apache20 = 2 OR &apache22 = 2 OR &apacheCGI = 2]]>
+ </Custom>
<RemoveExistingProducts After="InstallValidate" />
</InstallExecuteSequence>
Modified: php/win-installer/trunk/PHPInstallerBase60NTS.wxs
===================================================================
--- php/win-installer/trunk/PHPInstallerBase60NTS.wxs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerBase60NTS.wxs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -590,7 +590,7 @@
DllEntry="CAQuietExec"
Return="ignore"
Execute="deferred"
- Impersonate="no" />
+ Impersonate="no" />
<CustomAction Id="fcgiconfigJSFastCGISetActivityTimeoutCmd"
Property="fcgiconfigJSFastCGISetActivityTimeout"
Value=""\\localhost\admin$\system32\cscript.exe" "[WindowsFolder]system32\inetsrv\fcgiconfig.js" -set -section:"PHP" -ActivityTimeout:600" />
@@ -666,10 +666,18 @@
<CustomAction Id="configIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="configIIS4" />
+ <CustomAction Id="configIIS4CustomActionDataValue"
+ Return="check"
+ Property="configIIS4"
+ Value="[INSTALLDIR]" />
<CustomAction Id="unconfigIIS4"
BinaryKey="PHPInstallerScripts"
Return="check"
+ Execute="deferred"
+ Impersonate="no"
VBScriptCall="unconfigIIS4" />
<InstallExecuteSequence>
@@ -763,9 +771,6 @@
<Custom Action="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTS" After="fcgiconfigJSFastCGISetPHPRCAndMAX_REQUESTSCmd">
<![CDATA[(VersionNT = 502 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
- <Custom Action="configIIS4" After="InstallFinalize">
- <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
- </Custom>
<Custom Action="fcgiconfigJSFastCGICmdXP" After="InstallInitialize">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 3]]>
</Custom>
@@ -808,6 +813,12 @@
<Custom Action="fcgiconfigJSFastCGIremoveXP" After="fcgiconfigJSFastCGIremoveCmdXP">
<![CDATA[(VersionNT = 501 AND ServicePackLevel >= 2) AND &iis4FastCGI = 2]]>
</Custom>
+ <Custom Action="configIIS4CustomActionDataValue" After="WriteRegistryValues">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
+ <Custom Action="configIIS4" After="configIIS4CustomActionDataValue">
+ <![CDATA[VersionNT < 600 AND &iis4FastCGI = 3]]>
+ </Custom>
<Custom Action="unconfigIIS4" After="InstallInitialize">
<![CDATA[VersionNT < 600 AND &iis4FastCGI = 2]]>
</Custom>
Modified: php/win-installer/trunk/PHPInstallerScripts52.vbs
===================================================================
--- php/win-installer/trunk/PHPInstallerScripts52.vbs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerScripts52.vbs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -6,29 +6,33 @@
Dim objFSO
Dim objFile
- strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
- strApacheDir = Session.Property("APACHEDIR")
- strPHPPath = Replace(Session.TargetPath("INSTALLDIR"),"\","/")
+ Args = Split( Session.Property("CustomActionData"), "," )
+ strApacheDir = Args(0)
+ strInstallDir = Args(1)
+
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Replace(strInstallDir,"\","/")
- If ( Session.FeatureRequestState("apacheCGI") = 3 ) Then
+ strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
+ If ( strWebServerType = "apacheCGI" ) Then
strDirective = strDirective & "ScriptAlias /php/ """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "Action application/x-httpd-php """ & strPHPPath & "php-cgi.exe""" & vbCrLf
End If
- If ( Session.FeatureRequestState("apache22") = 3 ) Then
+ If ( strWebServerType = "apache22" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache2_2.dll""" & vbCrLf
End If
-
- If ( Session.FeatureRequestState("apache20") = 3 ) Then
+
+ If ( strWebServerType = "apache20" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache2.dll""" & vbCrLf
End If
-
- If ( Session.FeatureRequestState("apache13") = 3 ) Then
+
+ If ( strWebServerType = "apache13" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache.dll""" & vbCrLf
End If
@@ -105,7 +109,7 @@
Dim objFSO
Dim objFile
- strApacheDir = Session.Property("APACHEREGDIR")
+ strApacheDir = GetRegistryValue("Software\PHP","ApacheDir")
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
@@ -164,17 +168,18 @@
Dim DefaultDocuments
fAddScriptMap = TRUE
- strPHPPath = Session.TargetPath("INSTALLDIR")
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Session.Property("CustomActionData")
If ( right(strPHPPath,1) <> "\" ) then
strPHPPath = strPHPPath & "\"
End If
- If ( Session.FeatureRequestState("iis4CGI") = 3 ) Then
+ If ( strWebServerType = "iis4CGI" ) Then
PHPExecutable = strPHPPath & "php-cgi.exe"
End If
- If ( Session.FeatureRequestState("iis4ISAPI") = 3 ) Then
+ If ( strWebServerType = "iis4ISAPI" ) Then
PHPExecutable = strPHPPath & "php5isapi.dll"
End If
- If ( Session.FeatureRequestState("iis4FastCGI") = 3 ) Then
+ If ( strWebServerType = "iis4FastCGI" ) Then
fAddScriptMap = FALSE
End If
@@ -274,7 +279,8 @@
'it could all go dreadfully wrong - so set error handler for graceful exits
On Error Resume Next
- If ( Session.FeatureRequestState("iis4FastCGI") = 2 ) Then
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ If ( strWebServerType = "iis4FastCGI" ) Then
fRemoveScriptMap = FALSE
End If
@@ -328,3 +334,15 @@
Next
GetWindowsVersion = Left(ver,3)
End Function
+
+Function GetRegistryValue(strKeyPath,strValueName)
+ const HKEY_LOCAL_MACHINE = &H80000002
+ strComputer = "."
+
+ Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
+ strComputer & "\root\default:StdRegProv")
+
+ oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
+
+ GetRegistryValue = strValue
+End Function
Modified: php/win-installer/trunk/PHPInstallerScripts53.vbs
===================================================================
--- php/win-installer/trunk/PHPInstallerScripts53.vbs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerScripts53.vbs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -6,28 +6,37 @@
Dim objFSO
Dim objFile
- strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
- strApacheDir = Session.Property("APACHEDIR")
- strPHPPath = Replace(Session.TargetPath("INSTALLDIR"),"\","/")
+ Args = Split( Session.Property("CustomActionData"), "," )
+ strApacheDir = Args(0)
+ strInstallDir = Args(1)
+
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Replace(strInstallDir,"\","/")
- If ( Session.FeatureRequestState("apacheCGI") = 3 ) Then
+ strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
+ If ( strWebServerType = "apacheCGI" ) Then
strDirective = strDirective & "ScriptAlias /php/ """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "Action application/x-httpd-php """ & strPHPPath & "php-cgi.exe""" & vbCrLf
End If
- If ( Session.FeatureRequestState("apache22") = 3 ) Then
+ If ( strWebServerType = "apache22" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache2_2.dll""" & vbCrLf
End If
- 'If ( Session.FeatureRequestState("apache20") = 3 ) Then
- ' strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
- ' strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache2.dll""" & vbCrLf
- 'End If
+ If ( strWebServerType = "apache20" ) Then
+ strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
+ strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache2.dll""" & vbCrLf
+ End If
+ If ( strWebServerType = "apache13" ) Then
+ strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
+ strDirective = strDirective & "LoadModule php5_module """ & strPHPPath & "php5apache.dll""" & vbCrLf
+ End If
+
strDirective = strDirective & "#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
Set objFSO = CreateObject("Scripting.FileSystemObject")
@@ -100,7 +109,7 @@
Dim objFSO
Dim objFile
- strApacheDir = Session.Property("APACHEREGDIR")
+ strApacheDir = GetRegistryValue("Software\PHP","ApacheDir")
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
@@ -159,14 +168,18 @@
Dim DefaultDocuments
fAddScriptMap = TRUE
- strPHPPath = Session.TargetPath("INSTALLDIR")
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Session.Property("CustomActionData")
If ( right(strPHPPath,1) <> "\" ) then
strPHPPath = strPHPPath & "\"
End If
- If ( Session.FeatureRequestState("iis4CGI") = 3 ) Then
+ If ( strWebServerType = "iis4CGI" ) Then
PHPExecutable = strPHPPath & "php-cgi.exe"
End If
- If ( Session.FeatureRequestState("iis4FastCGI") = 3 ) Then
+ If ( strWebServerType = "iis4ISAPI" ) Then
+ PHPExecutable = strPHPPath & "php5isapi.dll"
+ End If
+ If ( strWebServerType = "iis4FastCGI" ) Then
fAddScriptMap = FALSE
End If
@@ -266,7 +279,8 @@
'it could all go dreadfully wrong - so set error handler for graceful exits
On Error Resume Next
- If ( Session.FeatureRequestState("iis4FastCGI") = 2 ) Then
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ If ( strWebServerType = "iis4FastCGI" ) Then
fRemoveScriptMap = FALSE
End If
@@ -320,3 +334,15 @@
Next
GetWindowsVersion = Left(ver,3)
End Function
+
+Function GetRegistryValue(strKeyPath,strValueName)
+ const HKEY_LOCAL_MACHINE = &H80000002
+ strComputer = "."
+
+ Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
+ strComputer & "\root\default:StdRegProv")
+
+ oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
+
+ GetRegistryValue = strValue
+End Function
Modified: php/win-installer/trunk/PHPInstallerScripts60.vbs
===================================================================
--- php/win-installer/trunk/PHPInstallerScripts60.vbs 2009-09-30 13:32:18 UTC (rev 288995)
+++ php/win-installer/trunk/PHPInstallerScripts60.vbs 2009-09-30 13:44:28 UTC (rev 288996)
@@ -6,29 +6,33 @@
Dim objFSO
Dim objFile
- strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
- strApacheDir = Session.Property("APACHEDIR")
- strPHPPath = Replace(Session.TargetPath("INSTALLDIR"),"\","/")
+ Args = Split( Session.Property("CustomActionData"), "," )
+ strApacheDir = Args(0)
+ strInstallDir = Args(1)
+
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Replace(strInstallDir,"\","/")
- If ( Session.FeatureRequestState("apacheCGI") = 3 ) Then
+ strDirective = vbCrLf & vbCrLf & "#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL" & vbCrLf
+ If ( strWebServerType = "apacheCGI" ) Then
strDirective = strDirective & "ScriptAlias /php/ """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "Action application/x-httpd-php """ & strPHPPath & "php-cgi.exe""" & vbCrLf
End If
- If ( Session.FeatureRequestState("apache22") = 3 ) Then
+ If ( strWebServerType = "apache22" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php6_module """ & strPHPPath & "php6apache2_2.dll""" & vbCrLf
End If
-
- If ( Session.FeatureRequestState("apache20") = 3 ) Then
+
+ If ( strWebServerType = "apache20" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php6_module """ & strPHPPath & "php6apache2.dll""" & vbCrLf
End If
-
- If ( Session.FeatureRequestState("apache13") = 3 ) Then
+
+ If ( strWebServerType = "apache13" ) Then
strDirective = strDirective & "PHPIniDir """ & strPHPPath & """" & vbCrLf
strDirective = strDirective & "LoadModule php6_module """ & strPHPPath & "php6apache.dll""" & vbCrLf
End If
@@ -55,6 +59,7 @@
strText = Replace(strText,"ScriptAlias /php/","#ScriptAlias /php/")
strText = Replace(strText,"Action application/x-httpd-php","#Action application/x-httpd-php")
strText = Replace(strText,"PHPIniDir","#PHPIniDir")
+ strText = Replace(strText,"LoadModule php5_module","#LoadModule php5_module")
strText = Replace(strText,"LoadModule php6_module","#LoadModule php6_module")
strText = strText & strDirective
@@ -105,7 +110,7 @@
Dim objFSO
Dim objFile
- strApacheDir = Session.Property("APACHEREGDIR")
+ strApacheDir = GetRegistryValue("Software\PHP","ApacheDir")
If ( right(strApacheDir,1) <> "\" ) then
strApacheDir = strApacheDir & "\"
End If
@@ -164,17 +169,18 @@
Dim DefaultDocuments
fAddScriptMap = TRUE
- strPHPPath = Session.TargetPath("INSTALLDIR")
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ strPHPPath = Session.Property("CustomActionData")
If ( right(strPHPPath,1) <> "\" ) then
strPHPPath = strPHPPath & "\"
End If
- If ( Session.FeatureRequestState("iis4CGI") = 3 ) Then
+ If ( strWebServerType = "iis4CGI" ) Then
PHPExecutable = strPHPPath & "php-cgi.exe"
End If
- If ( Session.FeatureRequestState("iis4ISAPI") = 3 ) Then
+ If ( strWebServerType = "iis4ISAPI" ) Then
PHPExecutable = strPHPPath & "php6isapi.dll"
End If
- If ( Session.FeatureRequestState("iis4FastCGI") = 3 ) Then
+ If ( strWebServerType = "iis4FastCGI" ) Then
fAddScriptMap = FALSE
End If
@@ -274,7 +280,8 @@
'it could all go dreadfully wrong - so set error handler for graceful exits
On Error Resume Next
- If ( Session.FeatureRequestState("iis4FastCGI") = 2 ) Then
+ strWebServerType = GetRegistryValue("Software\PHP","WebServerType")
+ If ( strWebServerType = "iis4FastCGI" ) Then
fRemoveScriptMap = FALSE
End If
@@ -328,3 +335,15 @@
Next
GetWindowsVersion = Left(ver,3)
End Function
+
+Function GetRegistryValue(strKeyPath,strValueName)
+ const HKEY_LOCAL_MACHINE = &H80000002
+ strComputer = "."
+
+ Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" &_
+ strComputer & "\root\default:StdRegProv")
+
+ oReg.GetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue
+
+ GetRegistryValue = strValue
+End Function
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php