Hi,
I have prepared a custom installer and tested it in 2 vista and 2 xp computers. There is no problem with the xp machines, but one of the vista machines gives an exception saying, "My Studies server can not be queried. Error occured while querying the study root." After this ClearCanvas closes with a "ClearCanvas has stopped working and needs to close" message. And the log during this error is as follows:
Failed to retrieve number of studies from data store.
Turcica.Dicom.DataStore.DataStoreException: An error occurred while attempting to get the number of studies in the data store. ---> NHibernate.ADOException: cannot open connection ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Data.SqlServerCe.NativeMethods.DllAddRef()
at System.Data.SqlServerCe.SqlCeConnection..ctor()
--- End of inner exception stack trace ---
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at NHibernate.Driver.ReflectionBasedDriver.CreateConnection()
at NHibernate.Connection.DriverConnectionProvider.GetConnection()
at NHibernate.Impl.SessionFactoryImpl.OpenConnection()
--- End of inner exception stack trace ---
at NHibernate.Impl.SessionFactoryImpl.OpenConnection()
at NHibernate.Impl.ConnectionManager.GetConnection()
at NHibernate.Impl.SessionImpl.get_Connection()
at NHibernate.Transaction.AdoTransaction.Begin(IsolationLevel isolationLevel)
at Turcica.Dicom.DataStore.DataAccessLayer.SessionManager.BeginReadTransaction()
at Turcica.Dicom.DataStore.DataAccessLayer.DataStoreReader.GetStudyCount()
--- End of inner exception stack trace ---
at Turcica.Dicom.DataStore.DataAccessLayer.DataStoreReader.GetStudyCount()
at Turcica.ImageViewer.Shreds.DiskspaceManager.DiskspaceManagerProcessor.CheckUsage(Boolean log, Int32 maxWaitMilliseconds)
2009-08-21 19:29:42,741 [2] FATAL - Error occured
Fatal error - unhandled exception in running Shred; ShredHost must terminate
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at System.Data.SqlServerCe.NativeMethods.SafeRelease(IntPtr& ppUnknown)
at System.Data.SqlServerCe.SqlCeConnection.ReleaseNativeInterfaces()
at System.Data.SqlServerCe.SqlCeConnection.Dispose(Boolean disposing)
at System.Data.SqlServerCe.SqlCeConnection.Finalize()
I have checked the permissions of the dicom_datastore folder, checked if there were any relative path definitions, but everything looks OK. I read a suggestion about reinstalling the distributable package and moving the sqlce* dlls to the root directory, but it did not solve the problem either. I feel like sth is wrong with my sql libraries but I can not find why.
Any suggestions?
Thanks,
ozahan