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?
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)
Please log in to answer
Posted by:
anonymous_9363
15 years ago
Posted by:
AngelD
15 years ago
Posted by:
anonymous_9363
15 years ago
Posted by:
polkagris
15 years ago
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
Posted by:
polkagris
15 years ago
Posted by:
AngelD
15 years ago
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 ;)
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
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! [;)]
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
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
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
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.
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
Posted by:
polkagris
15 years ago
Posted by:
polkagris
15 years ago
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
Posted by:
polkagris
15 years ago
Posted by:
AngelD
15 years ago
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.
so that the conversation will remain readable.