/build/static/layout/Breadcrumb_cap_w.png

Very strange ICE02 and 03 errors

I got error 2228 when installing a vendor MSI with a MST.
2228 = Database: [2]. Unknown table '[3]' in SQL query: [4]

I ran a validation and got pretty confused by these errors:
Component 'registry' references Registry 'registry15' as KeyPath, but the Registry table does not exist. Component KeyPath registry
Evaluation: ICE02

_Validation table: Data in KeyTAble column is incorrect; Table: Component, Column: KeyPath, Key(s): registry Component KeyPath registry
Evaluation: ICE03

Well, first of all the Registry table do exist and the the keypath looks fine.

My MST worked fine until I added some registry keys in HKCR that needed user permissions and wasnt added in the registry by the installation. Before these keys the registry table was empty.

Why is my Registry table presumed to be missing? Any ideas?

0 Comments   [ + ] Show comments

Answers (16)

Posted by: anonymous_9363 15 years ago
Red Belt
2
What tool are you using to create and add the registry entry? I'll bet you have a .REG which you are importing into your packaging tool. If so, I'd simply create a new one, making sure that you export in ASCII (the lowest common denominator) rather than UTF-8 and use that.
Posted by: AngelD 15 years ago
Red Belt
0
Did you verify that the entry in the _Validation table is correct?
What does a verbose log provide regarding the error?
Posted by: anonymous_9363 15 years ago
Red Belt
0
Remember that HKCR is an amalgam of HKCU\Software\Classes and HKLM\Software\Classes? If you had put those entries into HKCU\Software\Classes directly, they wouldn't require permissions.
Posted by: polkagris 15 years ago
Orange Belt
0
ORIGINAL: AngelD

Did you verify that the entry in the _Validation table is correct?
What does a verbose log provide regarding the error?


_Validation looks correct. I have compared to other MSI-files and I cant se any difference.

The log looks like this. Some of it is in swedish...tell me if you need it translated [;)] :
MSI (s) (F4:20) [16:56:45:491]: Note: 1: 2205 2: 3: Registry

MSI (s) (F4:20) [16:56:45:491]: Note: 1: 2228 2: 3: Registry 4: SELECT `Root`,`Key`,`Name`, `Value` FROM `Registry`,`Component` WHERE `Registry`=? AND `Registry`.`Component_` = `Component`.`Component`

DEBUG: Error 2228: Database: . Unknown table 'Registry' in SQL query: SELECT `Root`,`Key`,`Name`, `Value` FROM `Registry`,`Component` WHERE `Registry`=? AND `Registry`.`Component_` = `Component`.`Component`

MSI (c) (F0:FC) [16:56:45:553]: Font created. Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg
Ett oväntat fel uppstod under installationen av det här paketet. Detta kan bero på ett problem med paketet. Felkoden är 2228. Argumenten är: , Registry, SELECT `Root`,`Key`,`Name`, `Value` FROM `Registry`,`Component` WHERE `Registry`=? AND `Registry`.`Component_` = `Component`.`Component`

MSI (s) (F4:20) [16:56:54:756]: Produkt: Alarmos Client -- Ett oväntat fel uppstod under installationen av det här paketet. Detta kan bero på ett problem med paketet. Felkoden är 2228. Argumenten är: , Registry, SELECT `Root`,`Key`,`Name`, `Value` FROM `Registry`,`Component` WHERE `Registry`=? AND `Registry`.`Component_` = `Component`.`Component`


ORIGINAL: VBScab

Remember that HKCR is an amalgam of HKCU\Software\Classes and HKLM\Software\Classes? If you had put those entries into HKCU\Software\Classes directly, they wouldn't require permissions.


To be honest, i didnt know that until I read about it searching for a solution for this problem. I will test to put the keys in HKLM. But i dont know if it will fix the problem above though.
Posted by: anonymous_9363 15 years ago
Red Belt
0
I will test to put the keys in HKLM. But i dont know if it will fix the problem above though.You meant HKCU, of course...HKLM is probably permissioned, whereas HKCU "belongs to" the currently logged-in user.
Posted by: polkagris 15 years ago
Orange Belt
0
Yeah sorry, I meant HKCU of course.
Hmm, well i wont get any further today. Work hours are over here now and everybody else has gone home. :)
I will check back tonight and tomorrow and see if someone has figured something out. Hopefully i figure something out too. [;)]
Posted by: AngelD 15 years ago
Red Belt
0
Sorry polkie, but according to the log the Registry table doesn't exist.
Does it work without the transform?
If so, it seems that the transform is corrupt in any way, try to create a new one and see if that helps.

Swedish is my mother tongue so had no problem translating "Ett oväntat fel" to an unexpected error ;)
Posted by: polkagris 15 years ago
Orange Belt
0
AngelD:
Yes it works without the transform. It works WITH the transform aswell, as long as I dont add any regsitry keys! As soon as I add registry keys I'm screwed, i doesnt matter if I remove them, it still wont work and I have to create a new transform again.

Well, this is odd and I decided to add the keys through a custom action instead just to get the installation to work, and it did.

Så du är också svensk? Trevligt! [;)]
Posted by: AngelD 15 years ago
Red Belt
0
You guessed correct, I'm also from Sweden (hint: check "From:") [;)]

What tool are you using to create and add the registry entry?
Could you try InstEd (www.instedit.com) and see if it does a better job?
Could you give us en example of a registry entry that breaks the table.

/Kim
Posted by: polkagris 15 years ago
Orange Belt
0
Yeah, I have .reg files that I import. I havnt had time to try keys exported in ASCII, but i sure will test that.

AngelD: Below is the reg keys that messed it all up for me. I dont know if one is more bad than the other.

[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}]
[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}\b.3]
@="Objekt"
[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}\b.3\0]
[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}\b.3\0\win32]
@="C:\\Program\\Eusystem\\A_system\\objekt.exe"
[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}\b.3\FLAGS]
@="0"
[HKEY_CLASSES_ROOT\TypeLib\{A4F656FE-BB0D-449E-9D02-588728B21355}\b.3\HELPDIR]
@="C:\\hlpfiles"


[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}]
@="Objekt.cDiaPost"
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\Implemented Categories]
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\Implemented Categories\{40FC6ED5-2438-11CF-A3DB-080036F12502}]
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\LocalServer32]
@="C:\\Program\\Eusystem\\A_system\\objekt.exe"
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\ProgID]
@="Objekt.cDiaPost"
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\Programmable]
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\TypeLib]
@="{A4F656FE-BB0D-449E-9D02-588728B21355}"
[HKEY_CLASSES_ROOT\CLSID\{56A19866-4FE0-4603-A086-1C7C493EB3BE}\VERSION]
@="11.3"


[HKEY_CLASSES_ROOT\Objekt.cDiaPost]
@="Objekt.cDiaPost"
[HKEY_CLASSES_ROOT\Objekt.cDiaPost\Clsid]
@="{56A19866-4FE0-4603-A086-1C7C493EB3BE}"
Posted by: anonymous_9363 15 years ago
Red Belt
0
I havnt had time to try keys exported in ASCII, but i sure will test that.In RegEdit, choose 'Windows NT4' as the file type to get ASCII.
Posted by: polkagris 15 years ago
Orange Belt
0
ORIGINAL: VBScab

I havnt had time to try keys exported in ASCII, but i sure will test that.In RegEdit, choose 'Windows NT4' as the file type to get ASCII.



Ok, thanks
Posted by: polkagris 15 years ago
Orange Belt
0
ORIGINAL: VBScab
I'll bet you have a .REG which you are importing into your packaging tool. If so, I'd simply create a new one, making sure that you export in ASCII (the lowest common denominator) rather than UTF-8 and use that.


Not that it made me any wiser, but it worked!
The installation finishes without any problems and the registry keys gets written.

Many thanks and +2. [;)]
Posted by: AngelD 15 years ago
Red Belt
0
You could just have used WiseComCap.exe (or what it is called, never remember the exact name for it) to generate the .reg file for you for the "C:\Program\Eusystem\A_system\objekt.exe" COM-server component. Or was it that you did or by regedit?
Posted by: polkagris 15 years ago
Orange Belt
0
No "advanced" stuff when generating .reg files. Just right click - Export in regedit.
Posted by: AngelD 15 years ago
Red Belt
0
And by the way, make sure to turn off the convert registry to advertise option to get all of the entries into the Registry table if that is what you wanted. Other option would be to "advertise" the registration of the COM-component to get some extra entrypoints for your Windows Installer resiliency (self-check, repair).
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ