PDA

View Full Version : Error 2896 when using Custom Action



chrishx3000
01-23-2004, 04:11 AM
Hello,

I've created a dummy Custom Action because they seem to fail every time. This dummy Custom Action launches Notepad.exe (just as the example). This is the info for the Custom Action:

Source Location: File Exists on Target Computer
File Location: [WindowFolder]
File Name and Command Line: Notepad.exe
Invoke: After Ready to Install dialog
Wait for Action: Yes
Run Once: Yes (read-only)
Execute: During Installation
Ignore Exit Code: No
Comments:
Condition: No Conditions

I started setup.exe with /v"/lv C:\testlog.txt" just to find the following:

Action start 09:50:48: DummyTest.
DEBUG: Error 2835: The control ErrorIcon was not found on dialog SetupError
Internal Error 2835. ErrorIcon, SetupError
Action ended 09:50:50: DummyTest. Return value 3.
DEBUG: Error 2896: Executing action DummyTest failed.
Internal Error 2896. DummyTest

I've read another thread thread (http://community.installshield.com/showthread.php?s=&threadid=120490) but could not find the Q104449 article ID.

I'm sure I'm doing something wrong, could anyone help me?

/Chris

chrishx3000
01-23-2004, 10:00 AM
An update while you're getting a cup of coffee :)

I got the Notepad.exe Custom Action to work. Note that [WindowFolder] should be [WindowsFolder]. However, in the documentation, it clearly says [WindowFolder]. This should be updated.

Further, I created a new Custom Action called InstallDatabase with the following information:

Source Location: File Exists on Target Computer
File Location: [SUPPORTDIR]
File Name and Command Line: DatabaseInstaller.exe -debug "c:\databaseinstall.txt" passwd torsten_db.sql torsten_sp.sql
Invoke: After Ready to Install dialog
Wait for Action: Yes
Run Once: Yes (read-only)
Execute: During Installation
Ignore Exit Code: No
Comments:
Condition: No Conditions

I ran setup.exe, didn't work. I launched the File Monitor tool from sysinternals and it shows the installer tries to find the DatabaseInstaller.exe in C:\SUPPORTDIR\.

So I changed the File Location property to "" (empty string). I ran setup.exe again. Didn't work. However the File Monitor now says:

msiexec.exe:1232 QUERY INFORMATION FILE NOT FOUND C:\WINNT\system32\DatabaseInstaller.exe
msiexec.exe:1232 QUERY INFORMATION SUCCESS C:\Documents and Settings\Administrator\Desktop\torsten\DatabaseInstaller.exe
msiexec.exe:1232 QUERY INFORMATION SUCCESS C:\Documents and Settings\Administrator\Desktop\torsten\DatabaseInstaller.exe
msiexec.exe:1232 OPEN SUCCESS C:\Documents and Settings\Administrator\Desktop\torsten\DatabaseInstaller.exe
msiexec.exe:1232 QUERY INFORMATION SUCCESS C:\Documents and Settings\Administrator\Desktop\torsten\DatabaseInstaller.exe
msiexec.exe:1232 CLOSE SUCCESS C:\Documents and Settings\Administrator\Desktop\torsten\DatabaseInstaller.exe

So, msiexec.exe (the installer) actually FINDS the file but does not execute it? The setup.exe log says:

Action start 14:47:41: InstallDatabase.
DEBUG: Error 2835: The control ErrorIcon was not found on dialog SetupError
Internal Error 2835. ErrorIcon, SetupError
Action ended 14:47:52: InstallDatabase. Return value 3.
DEBUG: Error 2896: Executing action InstallDatabase failed.
Internal Error 2896. InstallDatabase

I'm really lost here. I can launch Notepad.exe fine, but not my own DatabaseInstaller.exe.. whats wrong?

Oh, I tried running DatabaseInstaller.exe without the setup, works fine.

Any help is greatly appreciated :)
/Chris

chrishx3000
01-23-2004, 11:50 AM
For those who are eager to see the final episode of this monolog, this is what I discovered :)

In the InstallShield Setup Files configuraiton, if I move the DatabaseInstaller.exe from:

Support Files\Advanced Files\Disk1

to:

Support Files\English (United States)

the DatabaseInstaller.exe is launched!
:D

It would be most excellent to add this bit of information to Error Central or whatever, just put it somewhere :)

Bye!
/Chris