php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #43748 MSI installer fails with error 2738
Submitted: 2008-01-04 07:20 UTC Modified: 2008-08-22 18:21 UTC
Votes:8
Avg. Score:4.9 ± 0.3
Reproduced:8 of 8 (100.0%)
Same Version:6 (75.0%)
Same OS:7 (87.5%)
From: alvaro at demogracia dot com Assigned: jmertic
Status: Closed Package: Windows Installer
PHP Version: 5.2.5 OS: Windows Vista
Private report: No CVE-ID:
 [2008-01-04 07:20 UTC] alvaro at demogracia dot com
Description:
------------
I can't install any *.msi package newer that 2.5.3 under Windows Vista by double-clicking the file. Even though my user has admin rights, I need to run it from an elevated console.

Installer doesn't warn about it. It starts as usual, prompts for options, asks for elevation and finally stops with this error message:

"The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2738."

The chosen options do not seem to make any difference.

It also happens with today's snapshot (2.5.6-dev 2008-01-04):

http://snaps.php.net/win32/php5.2-win32-installer-latest.msi

I believe it's not a dupe of #43230 because that fixed the problem for my Windows XP box but not for my Vista box. As I said, opening an elevated console and running it for command line does work.

Reproduce code:
---------------
Please find an excerpt from verbose logging mode output below (non-elevated console).

msiexec /i php-5.2.5-win32-installer.msi /l*v error.log

Full logs can be found here:

http://alvaro.es/archivos/error_2.5.2_2007-12-11.log.zip [30KB]
http://alvaro.es/archivos/error_2.5.6-dev_2008-01-04.log.zip [30KB]


Actual result:
--------------
[...]
MSI (s) (CC:6C) [07:51:45:428]: Running as a service.
MSI (s) (CC:6C) [07:51:45:432]: Hello, I'm your 32bit Impersonated custom action server.
MSI (s) (CC:E4) [07:51:45:434]: Note: 1: 2205 2:  3: Error 
MSI (s) (CC:E4) [07:51:45:434]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2738 
DEBUG: Error 2738:  Could not access VBScript runtime for custom action 
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2738. The arguments are: , , 
MSI (s) (CC:E4) [07:51:46:615]: Note: 1: 2205 2:  3: Error 
MSI (s) (CC:E4) [07:51:46:615]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 1709 
MSI (s) (CC:E4) [07:51:46:615]: Product: PHP 5.2.3 -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2738. The arguments are: , , 
[...]
MSI (c) (A8:DC) [07:51:47:896]: Windows Installer installed the product. Product Name: PHP 5.2.5. Product Version: 5.2.5. Product Language: 1033. Installation success or error status: 1603.

MSI (c) (A8:DC) [07:51:47:900]: Grabbed execution mutex.
MSI (c) (A8:DC) [07:51:47:900]: Cleaning up uninstalled install packages, if any exist
MSI (c) (A8:DC) [07:51:47:901]: MainEngineThread is returning 1603
=== Verbose logging stopped: 04/01/2008  7:51:47 ===



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2008-01-28 15:33 UTC] jmertic@php.net
It's actually something different, more specific to Vista not liking custom actions written in VBScript unless you are running from an elevated console as you did. Other than re-writing the custom actions as managed c++, you can do one of two things

- Re-register vbscript.dll or jscript.dll under an elevated console
-or-
- Run the installer from an elevated console.

I'm going to look into re-writing the custom actions as managed C++ in the future.
 [2008-02-08 04:30 UTC] jmertic@php.net
Can you retest the next snapshot release; I made some adjustments to hopefully help this out.
 [2008-02-13 13:09 UTC] alvaro at demogracia dot com
Thank you, I'll test it ASAP.

In case someone wants to test the new installer but has fiddled with vbscript.dll and jscript.dll, here's a link that explains how to reset it to Windows Vista default status:

http://blogs.msdn.com/heaths/archive/2007/05/31/windows-installer-errors-2738-and-2739-with-script-custom-actions.aspx

It seems that Microsoft discourages re-registering these DLLs from an elevated console.
 [2008-05-14 12:55 UTC] jmertic@php.net
Thank you for your bug report. This issue has already been fixed
in the latest released version of PHP, which you can download at 
http://www.php.net/downloads.php


 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Fri Apr 18 18:01:58 2014 UTC