This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Windows 2000 - Basic MSI - Error 1925 during InstallFinalize
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 01, 2008
05:01 PM
Windows 2000 - Basic MSI - Error 1925 during InstallFinalize
My MSI package works well when installed as an administrator under Windows 2000 and XP and as a standard user under XP. Under Windows 2000, a standard user installation fails with an error code of 1925 which is an access denied error.
I ran tried to install my package with logging enabled and noticed that ALLUSERS=1. This is despite the fact that I have deleted the ALLUSERS property from the Property table, and specified ALLLUSER="" from the msiexec command line. This one really has me scratching my head. I'd think that if I were able to do the same installation in XP as std user, I'd be able to pull it off in Win2k.
I'm using IS2008 with a basic MSI package. Pertinent log file attached. Command line below. Any help appreciated.
C:\>msiexec /l"*" setup-log.txt /i "Imagine Utilities for Windows.msi" ALLUSERS
=""
I ran tried to install my package with logging enabled and noticed that ALLUSERS=1. This is despite the fact that I have deleted the ALLUSERS property from the Property table, and specified ALLLUSER="" from the msiexec command line. This one really has me scratching my head. I'd think that if I were able to do the same installation in XP as std user, I'd be able to pull it off in Win2k.
I'm using IS2008 with a basic MSI package. Pertinent log file attached. Command line below. Any help appreciated.
C:\>msiexec /l"*" setup-log.txt /i "Imagine Utilities for Windows.msi" ALLUSERS
=""
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 04, 2008
05:26 PM
On further investigation I've isolated when the problem occurs: During InstallValidate (during an uninstallation attempt) the Windows Installer Service sets ALLUSERS=1. The funny thing is that, this doesn't happen on Windows XP. I've further isolated the issue; the problem occurs only when I schedule a particular custom action to occur as the first custom action that immediately follows ISSetAllUsers. My custom action, called DetectExcel, does, literally, nothing more than create an instance of Excel.Application and return ERROR_SUCCESS if the call to CreateObject succeeded.
I am really puzzled why this particular custom action would trigger setting ALLUSERS to 1. Setting the custom action condition VersionNT >= 501 solves my problems. The CA is scheduled to run during both the UI and Exec sequences, with In-Script Execution setting Immediate Execution, and Execution Scheduling set to Execute only once.
The CA runs on Windows XP as expected, and it does not trigger ALLUSERS=1. Anybody with similar experiences or suggestions?
[CODE]
Action start 17:57:59: InstallValidate.
MSI (s) (A8:48) [17:57:59:453]: Feature: Communications_Libraries; Installed: Local; Request: Absent; Action: Absent
...
MSI (s) (A8!1C) [17:57:59:859]: PROPERTY CHANGE: Adding ALLUSERS property. Its value is '1'.
...
Action ended 17:58:00: InstallValidate. Return value 1.
[/CODE]
Code for my DetectExcel custom action:
I am really puzzled why this particular custom action would trigger setting ALLUSERS to 1. Setting the custom action condition VersionNT >= 501 solves my problems. The CA is scheduled to run during both the UI and Exec sequences, with In-Script Execution setting Immediate Execution, and Execution Scheduling set to Execute only once.
The CA runs on Windows XP as expected, and it does not trigger ALLUSERS=1. Anybody with similar experiences or suggestions?
[CODE]
Action start 17:57:59: InstallValidate.
MSI (s) (A8:48) [17:57:59:453]: Feature: Communications_Libraries; Installed: Local; Request: Absent; Action: Absent
...
MSI (s) (A8!1C) [17:57:59:859]: PROPERTY CHANGE: Adding ALLUSERS property. Its value is '1'.
...
Action ended 17:58:00: InstallValidate. Return value 1.
[/CODE]
Code for my DetectExcel custom action:
function CustomAction_SetExcelVersionCompat(hMSI)
OBJECT oXlApp;
STRING sXlVersion;
STRING tmp;
NUMBER nVersion;
begin
set oXlApp = GetExcel();
if( IsObject(oXlApp) ) then
try
sXlVersion = oXlApp.Version();
SprintfMsiLog("Error getting Excel Version %s, %i.", Err.Description(), Err.Number());
catch
endcatch;
oXlApp.Quit();
SprintfMsiLog("Excel Version: %s", sXlVersion);
StrToNum(nVersion, sXlVersion);
if( nVersion >= 9 ) then
MsiSetProperty(hMSI, "COMPATIBLE_EXCEL_FOUND", "Hell Yeah");
endif;
endif;
return ERROR_SUCCESS;
end;
function OBJECT GetExcel()
OBJECT xlApp;
begin
try
set xlApp = CreateObject("Excel.Application");
// In order to work with addins object we
// need at least 1 workbook.
xlApp.Workbooks.Add();
return xlApp;
catch
SprintfMsiLog( "Excel not found" );
SprintfMsiLog( "Error in GetExcel ( %s ) ", Err.Description() );
endcatch;
end;