Error 2254 while patching
Posted 30 May 2008 - 08:41
i get the following error message running my patch:
Product: XXX -- Error 2254.Database: Transform: Cannot update row that does not exist. Table: RemoveFile.
For any reason, this happens only if i´ve installed the product in a different language than the standard language.
Thanks for any hints!
regards,
Udo
Posted 30 May 2008 - 09:58
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
Posted 30 May 2008 - 12:30
thats the specific part from the logfile
-------------------------------
MSI (s) (54:E4) [08:12:22:796]: Transforming table RemoveFile.
MSI (s) (54:E4) [08:12:22:796]: Transforming table RemoveFile.
MSI (s) (54:E4) [08:12:22:796]: Note: 1: 2262 2: RemoveFile 3: -2147287038
MSI (s) (54:E4) [08:12:22:796]: Transforming table RemoveFile.
MSI (s) (54:E4) [08:12:22:796]: Note: 1: 2254 2: 3: RemoveFile
MSI (s) (54:E4) [08:12:22:796]: Transforming table Error.
MSI (s) (54:E4) [08:12:22:796]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (54:E4) [08:12:22:796]: Transforming table Error.
MSI (s) (54:E4) [08:12:22:796]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (54:E4) [08:12:22:796]: Transforming table Error.
Action start 8:12:22: RemoveFiles.
MSI (s) (54:E4) [08:20:44:730]: Transforming table Error.
MSI (s) (54:E4) [08:20:44:745]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (54:E4) [08:20:44:745]: Transforming table Error.
MSI (s) (54:E4) [08:20:44:745]: Note: 1: 2262 2: Error 3: -2147287038
MSI (s) (54:E4) [08:20:44:745]: Transforming table Error.
MSI (s) (54:E4) [08:20:44:745]: Product: XXX -- Error 2254.Database: Transform: Cannot update row that does not exist. Table: RemoveFile.
Error 2254.Database: Transform: Cannot update row that does not exist. Table: RemoveFile.
------------------------------------
In my main setup i created some entries in the Removefile table.
Now these entries are not needed anymore but i had to add some entries for other files.So i used the entries from before (fileKeys) and changed the appropriate data. Without generating new filekeys.
If i restore the old informations in the table and add the new ones with new filekeys, i got a working patch for different languages.
But the entries in the RemoveFile table are not language specific.
Or am i wrong?
So why it makes a diffenrence installing in standard language or not?
regards,
Udo
Posted 03 June 2008 - 15:17
means that there is no RemoveFile table in your setup. Double check the .msi file to see if the RemoveFile table is there (in the old and in the new version)
Stefan Krüger
InstallSite.org twitter facebook
Posted 03 June 2008 - 15:38
i´m sure that the RemoveFile table exists in both setups because i changed different things. If i execute my patch the correct files are deleted while patching but only for the default language.
To make it more clearer:
Working
- main setup installed in default language
- executing the patch
failing
- main setup installed in different language
- executing the patch (error 2254)
It´s the same patch for all languages so the table must be included. (it´s working in case 1)
regards,
Udo
Edited by felltier-a, 03 June 2008 - 15:39.
Posted 03 June 2008 - 16:07
Stefan Krüger
InstallSite.org twitter facebook
Posted 04 June 2008 - 07:22
i opened all my language MST´s but the RemoveFile table exists in all of them. The entries are correct but for any reason some entries are marked as changed
regards,
Udo
Posted 04 June 2008 - 09:27
It seems obvious to me - now that I know there are transforms involved, not just a patch file - that the row referred to is missing from the transform. If this were me, I'd be building a script, using one of the SDK scripts as a template, in order to compare those transform tables row-by-row.
- Try using http://www.google.com before posting.
- I answer questions only via forums. Please appreciate the time I give here and don't send me personal emails.
Posted 05 June 2008 - 12:10
QUOTE (VBScab @ 2008-06-04 09:27) |
Wait a second...! When did language transforms enter the equation?!? |
Actually, there was a hint in the very first post:
QUOTE |
For any reason, this happens only if i´ve installed the product in a different language than the standard language. |
But why do you have a RemoveFile table entry in your language transform at all?
Stefan Krüger
InstallSite.org twitter facebook
Posted 06 June 2008 - 09:29
i guess the table is shown because it´s existing in the MSI. Only in one language (MST) the table is marked as "changed". I haven´t done any changes to this table in the language MST. For any reason he does this automatically while compiling.
regards,
Udo
Posted 09 June 2008 - 18:44
Stefan Krüger
InstallSite.org twitter facebook
Posted 04 November 2008 - 15:22
if someone's interested in a solution.
I had the same problem on a Japanese Windows Xp.
The error is caused by files with German characters like öäü
The product could be installed and Windows replaces the öäü with oau.
E.g.
Your main installation includes a file named saublödgelaufen.pdf
The Japanese Windows XP (in my case) saves the file to saublodgelaufen.pdf
If you try an update now because the file was deleted or has changed the installer can't find the file saublödgelaufen.pdf
The funny thing is that it is not possible to install the main installation under an Korean OS, but the Japanese one says everything is alright.
So the only possibility is to avoid characters like öäü in your filenames... or in your case never update or delete them.
Hope that helps
Jörg