After unsuccessful attempts by the customer to run
setup after modifying the system default locale using the Regional Settings
control panel General tab via the 'Set default...' button, I modified the .msi database and had the customer replace the
cached. msi with a version that sets the SqlCollation setting to bypass the
UseCurrentCollation and UseDefaultCollation MSDE custom actions.
Bypassing these custom actions allowed the
uninstall to proceed, equivalent to settings the COLLATION property as a
parameter to MSDE setup.
Now, the custom is trying to install a new version
of the setup package, also embedding MSDE 2000 SP2. The install fails with the
same error message (I expect the custom action failing to be UseDefaultCollation
on the install).
Has ANYBODY seen anything similar or have a clue
what to do to fix the user's system so that MSDE's collation custom actions that
set the internal SqlCollation property don't fail?!?
Thank you in advance,
Rick Schertz
The the log information verifies that
UseCurrentCollation is the custom action that fails:
MSI (s) (40:7C): Doing action:
UseCurrentCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B
Action start
16:42:38: UseCurrentCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B.
MSI (s)
(40:7C): Creating MSIHANDLE (100) of type 790542 for thread 2428
TempFolder
is C:\DOCUME~1\WS10708\LOCALS~1\Temp\
Loading extended custom action
library sqlcax.dll
Starting custom action UseCurrentCollation
Unable to
determine system default collation.
Action ended 16:42:45:
UseCurrentCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B. Return value
3.
I attempted to reproduce the problem. I
installed the app with MSDE while the system default language (see screen
shot) was set to 'Chinese (Taiwan)'. Removed w/o errors when default was
'Chinese (Taiwan)'. Also retried the install with same default, then changed
default to 'English (United States)' and successfully
uninstalled.
In both of my attempts to reproduce, the
UseCurrentCollation custom action executed w/o error and the
UseDefaultCollation custom action immediately following was skipped since
the UseCurrentCollation custom action had set the SqlCollation
property.
Any know issue or possible explanation for the
error the custom is encountering?
Thanks!
Rick Schertz
Customer installed application with embedded
MSDE SP2. Future uninstall of the application failed with error
message:
'Unable to determine system default
collation'
causing uninstall to fail and rollback.
Application+MSDE Instance cannot be removed.
Question #1: Will a regional setting
adjustment allow for uninstall to bypass the error? Please
advise.
I think and hope so. I'd
appreciate information anyone has regarding this this issue
with MSDE (in this case, SP2).
Question #2: Is this a bug in
preventing uninstall when the error could probably be ignored during
uninstall?
I think so, but haven't recreated yet to
determine whether ignoring the error on uninstall is
safe.
Key log file entries from the original
install follow:
=== Verbose logging started: 8/20/2002
11:44:41 Build type: SHIP UNICODE 2.00.2600.00 Calling
process: C:\WINNT\System32\MSIEXEC.EXE ===
...
MSI (s) (8C:00):
Doing action:
UseDefaultCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B
Action start
11:48:43: UseDefaultCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B.
MSI
(s) (8C:00): Creating MSIHANDLE (111) of type 790542 for thread
512
TempFolder is C:\DOCUME~1\WS10708\LOCALS~1\Temp\
Loading
extended custom action library sqlcax.dll
Starting custom action
UseDefaultCollation
Action ended 11:48:43:
UseDefaultCollation.2D02443E_7002_4C0B_ABC9_EAB2C064397B. Return value
1.
...
MSI (s) (8C:00): Executing op:
ActionStart(Name=ConfigServer.2D02443E_7002_4C0B_ABC9_EAB2C064397B,,)
Action
11:51:07: ConfigServer.2D02443E_7002_4C0B_ABC9_EAB2C064397B.
MSI (s)
(8C:00): Executing op:
CustomActionSchedule(Action=ConfigServer.2D02443E_7002_4C0B_ABC9_EAB2C064397B,ActionType=1025,Source=BinaryData,Target=ConfigServer,)
MSI
(s) (8C:00): Creating MSIHANDLE (168) of type 790536 for thread
512
TempFolder is C:\DOCUME~1\WS10708\LOCALS~1\Temp\
Loading
extended custom action library sqlcax.dll
Starting custom action
ConfigServer
Executing "C:\Program Files\Microsoft SQL
Server\80\Tools\Binn\cnfgsvr.exe -V 1 -M 1 -U sa -P "" -I "NTIQCHRA" -Q
"Chinese_Taiwan_Stroke_CI_AS""
Property(S): SqlCollation =
Chinese_Taiwan_Stroke_CI_AS
---------------
Customer reported current language
settings:
2) If this is a foreign language
version of Windows, what is the language?
> Locale = English (
United States )
3) What are your local Regional
Settings for this computer? To find this
go to Control Panel >
Regional Options and under the General tab what does
you locale say and
below, tell me if you have multiple languages configured
and what are
they?
> Locale = English
Language Settings :
Traditional Chinese / Simplied Chinese / Japanese / Korea