Video Screencast Help
Search Video Help Close Back
to help
New in the Rewards Catalog: Vouchers for "Symantec Technical Specialist" and "Symantec Certified Specialist" exams.

MSI error 2343

Created: 28 Jul 2010 | 8 comments
Sam N's picture
0 0 Votes
Login to vote

Hi,

I am creating an MSI from an executable using setup capture. after I successfully compiled my MSI in Wise Edtor, I tried to run a TEST to test the installation but somewhere close to the end of installation the following error comes up "Internal error 2343"
I have added an entry in registery to enable a log file for my MSI and here is the result see below: of course I did not paste the entire log but just the section about the error... 

Action ended 11:46:04: WriteIniValues. Return value 3.
MSI (s) (28:C4) [11:46:04:547]: Machine policy value 'DisableRollback' is 0
MSI (s) (28:C4) [11:46:04:557]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (28:C4) [11:46:04:557]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (28:C4) [11:46:04:557]: Calling SRSetRestorePoint API. dwRestorePtType: 13, dwEventType: 103, llSequenceNumber: 4, szDescription: "".
MSI (s) (28:C4) [11:46:04:597]: The call to SRSetRestorePoint API succeeded. Returned status: 0.
MSI (s) (28:C4) [11:46:04:597]: Unlocking Server
Action ended 11:46:04: INSTALL. Return value 3.
Property(S): ProductCode = {45E32A0F-58CA-4965-9B4E-680FED26159A}
Property(S): ProductName = Pathfinder
Property(S): ProductVersion = 8.8
Property(S): Manufacturer = <no manufacturer>
Property(S): USERNAME = Symcor Inc
Property(S): WiseInitExistError = %s Version %s is already installed. You must uninstall the existing version before installing %s Version %s. Do you want to uninstall the existing version of %s?
Property(S): ReinstallFileOlderVersion = o
Property(S): ReinstallRepair = r
Property(S): TARGETDIR = C:\
Property(S): COMPANYNAME = Symcor Inc
Property(S): iso154 = C:\Saplink12_5\sybase12.5\charsets\iso15\
Property(S): InstallMode = Complete
Property(S): ErrorDialog = ErrorDialog
Property(S): Accept = No
Property(S): eucksc = C:\Saplink12_5\sybase12.5\charsets\eucksc\Action ended 11:36:27: RegisterMIMEInfo. Return value 1.
MSI (s) (28:C4) [11:36:27:846]: Doing action: WriteRegistryValues
Action 11:36:27: WriteRegistryValues. Writing system registry values...
Action start 11:36:27: WriteRegistryValues.
WriteRegistryValues: Key: Writing system registry values...
Name:
Value:
MSI (s) (28:C4) [11:36:27:856]: Note: 1: 2262 2: LockPermissions 3: -2147287038
MSI (s) (28:C4) [11:36:27:866]: Note: 1: 2715 2: AClient.log
Action ended 11:36:27: WriteRegistryValues. Return value 1.
MSI (s) (28:C4) [11:36:27:866]: Doing action: WriteIniValues
Action 11:36:27: WriteIniValues. Writing INI file values...
Action start 11:36:27: WriteIniValues.
WriteIniValues: File: Writing INI file values...
Section:
Key: , Value:
MSI (s) (28:C4) [11:36:27:876]: Note: 1: 2343
DEBUG: Error 2343:  Specified path is empty.
DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog
Internal Error 2835. ErrorIcon, ErrorDialog
Internal Error 2343.
MSI (s) (28:C4) [11:46:04:537]: Product: Pathfinder -- Internal Error 2343.

So besically it comes down to the following 2 lines

DEBUG: Error 2343:  Specified path is empty.
DEBUG: Error 2835:  The control ErrorIcon was not found on dialog ErrorDialog

I looked at the control tab and there isn't any control for erroricon

Any thoughts?

Sam

Comments

EdT's picture
28
Jul
2010
0 Votes 0
Login to vote

Ignore ErrorIcon errors

Error 2343 - specified path is empty is the one you need to look for.

And lo and behold, just above the error message, what do we find....

Action start 11:36:27: WriteIniValues.
WriteIniValues: File: Writing INI file values...
Section:
Key: , Value:
MSI (s) (28:C4) [11:36:27:876]: Note: 1: 2343
DEBUG: Error 2343:  Specified path is empty.

Looks like you are trying and failing to write an INI file.  Either you have something badly wrong in your INIFileTable, or you are trying to write the INI file to a non-existent folder. The INI file APIs do not create any folders if they are missing, so trying to write an INI file to a folder that does not exist is always going to fail.
If your INI file folder has no other files in it, then you need to use an explicit CreateFolder action to create the target folder. Or you need to install an "empty" INI file using the file table, as this will create any required folder automatically. Since the action that writes to INI files is sequenced after the action that installs files, installing a blank file will ensure that a target for write ini always exists. The other benefit of this approach is that you can apply LockPermissions to the INI file if it needs to have read write permissions but is going into the application folders or anywhere where a standard user has read access only.

 

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

VBScab's picture
28
Jul
2010
0 Votes 0
Login to vote

BTW...

...you can ignore icon/dialog control errors. Every MSI you look at will have at least one. In the top ten of such errors must be that which occurs in InstallShield-authored MSI where the horizontal rule which accompanies the 'InstallShield Wizard' text is 2 or 3 pixels wider than the dialog containing it. Sloppy but easy to shrug your shoulders at. Only R E A L L Y anal clients care (and yes, I *did* work for one!)

Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.

Sam N's picture
28
Jul
2010
0 Votes 0
Login to vote

Thanks

Are you suggesting I add a new row in "Inifile" table and call it something random?

EdT's picture
28
Jul
2010
0 Votes 0
Login to vote

No, I am suggesting you investigate your project file to determine whether an INI file is part of the installation, and if so, check where it is being created.

If your issue has been solved, please use the "Mark as Solution" link on the most relevant thread.

Sam N's picture
03
Aug
2010
0 Votes 0
Login to vote

Hi Ed,

Yes, there are some INI files being part of the installation and they are being created on c:\saplink 12_5---->1 file
c:\saplink 12_5\exe\3 files
c:\sybase12.5\ini\1file

 

VBScab's picture
03
Aug
2010
0 Votes 0
Login to vote

CLANG!

Do I recall that SAP's INI files aren't in standard INI format? Wise deals with any file with an INI extension as being properly formatted and is too stupid to check. If I'm right, you'll need to remove the INIFile table entries and treat the INIs as normal files. That presents a problem if you need to configure them as they're installed: you may need to resort to a string-parsing script to handle that.

Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.

Sam N's picture
04
Aug
2010
0 Votes 0
Login to vote

Deleting or removing entries from the INIFile table is causing all kind of errors in the File table as you stated above these files are part of the installation

VBScab's picture
04
Aug
2010
0 Votes 0
Login to vote

That's my fault, sorry.

Go back to your back-up (you *do* have Wise set up to save back-ups, right?) and use the 'INI Files' link in 'Installation Expert' view to delete the INI stuff. Make a note of the INI name first, then add each INI as a normal file.

Don't know why 'x' happened? Want to know why 'y' happened? Use ProcMon and it will tell you.
Think about using http://www.google.com before posting.