When I try to open eM Client it automatically runs DbRepair and ends with:
====================
eM Client database check…
X Checking for corrupted database…
main.dat
Checking for inconsistent data
Database verification and repairing failed
Pressing Cancel leads to trying to start again, which produces the same error.
I have tried:
* restarting the computer
* uninstalling and re-installing eM Client
* uninstalling and removing all registry entries then re-installing eM Client
* renaming the folder at C:\Users…\AppData\Roaming\em Client
With all of the above, when I then reinstall and run, I get the same error.
What database is left for it to check?
I suppose it could be finding other SQLite databases - I’m running a few other programs that use SQLite (Dropbox, Zotero, get_iplayer, python) but I’m reluctant to unlinstall all of these.
I think this problem started when my SD Card (which houses both the em Client program and data) accidentally popped out while the program was running.
I’d be pleased to fix this, because I’ve grown to love eM Client.
Hi David, using eM Client’s directory on an external drive is not recommended.
However are you able to turn the application on? Are you able to get past the database check tool?
First, I’m amazed that an employee is willing to help with a free product - fantastic service!
Unfortunately, I can’t turn on the application. This is what happens:
* double-click on MailClient.ext
a box appears titled: eM Client database check
the box says that verification has failed and gives only one option: cancel
* Click on Cancel
another box appears titled eM Client Application Error
when I press Continue, the application starts again and the same happens.
Here’s a couple of screenshots in case they help (accidentally in reverse order)
I’m utterly mystified by this because I don’t know where it is getting the error from.
I have
* uninstalled the application
* removed all the registry entries
* renamed the data directories
* re-installed the application in Drive C
And it STILL thinks that it needs to check the database!
Hi David, did you remove the database from the eM Client’s Roaming folder?
To do this go to your local folder > App Data > Roaming and rename or delete the eM Client folder.
When reopening eM client, a new database should be created allowing you to setup the accounts again.
Yep. Sorry - should have mentioned that.
Actually I renamed it as “eM ClientX”
This time, to make absolutely sure, I hunted down every folder or filename including “eM Client” using FileLocator and moved them to a backup drive.
Then I hunted down every registry entry and deleted them (except for the interminable file-type associations).
Then I restarted and re-installed and ran
On first run it produced the “eM Client Application Error” and then ran the DbRepair.exe which failed in the same way as before.
I’ve appended the error reports
BTW
To uninstall I’m using IObit Uninstaller to clear out absolutely everything, and also to do a fairly good sweep of the Registry (though I did also manually check the registry after this).
When it was uninstalling it found the following in the Registry
this makes me wonder if somewhere the system is remembering that I had been using eM Client on drive E
(It ran there happily for several weeks till the E: SD card popped out).
For all the re-installations I’ve been sticking to Drive C.
eM Client (6.0.20648.0)Windows: Microsoft Windows NT 6.2.9200.0, Framework: 4.0.30319.34003
The following error has occurred:
System.Data.SQLite.SQLiteException (0x80004005): disk I/O error
disk I/O error
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteCommand.GetStatement(Int32 index)
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader…ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery()
at System.Data.SQLite.SQLiteConnection.Open()
at MailClient.Db.Database.OpenConnection(String fileName)
at MailClient.Db.Database.PrepareDatabase()
at MailClient.Db.Database…ctor()
at MailClient.Db.Database.Initialize()
at MailClient.Program.Main(String[] args)
Hi David, this is not good, it’s not recommended to perform such actions as delete the registry files etc.
Can you please uninstall the application in program uninstaller (without using the unistallation application). After you remove the application from the system go to your local folder > App Data > Roaming, and delete the eM Client folder.
Thank you for sending a link to the newest installation file.
That was the only thing I hadn’t tried.
I did an uninstall, delted the Roaming folder and used this newest install and (as usual)
the program opened with an error box and tried to check main.dat - which fails.
I agree with you that one should not normally touch the Registry. I did this after many failed cycles of uninstalling, restarting and reinstalling.
I started by using the normal uninstall
and then uninstall + deleting the Roaming folder
and then uninstall + deleting the Roaming folder + registry entries
and then moving all backup folders off the computer then trying again
But every time I re-installed, the program finds a faulty main.dat
I can’t think where it is finding this!
Ah…
I’ve just spotted something which may help - or may deepen the mystery.
There is a copy of the Roaming/eM Client on the E: drive.
When I delete this, and run MailClient.exe, this is created again.
When I move it to C:/…Roaming it is still re-created in E:/…Roaming when I run MailClient.exe
Where is the information used by MailClient.exe telling it where to create the Roaming folder?
BTW, as I said previously, I had been running em Client successfully on Drive E for many weeks.
The eM Client installer does not ask where to install it, and only installs in C:
So I used AppMover to move the files and change the registry entries and this worked well.
But clearly something is confused somewhere.
I need to run eM Client in a different drive because my C: drive is very limited (I’m using an Asus Transformer - T100, which has a built-in 8G C: drive).
Hi David, please move the eM Client directory using the standard way, there’s an option for this in Tools > Settings > General > Storage.
This should prevent you from having these issue, you can setup the directory folder there and eM Client will create a new database in the desired destination.
Using 3rd party apps for this can result with these issues.
Thanks for reminding me about this setting.
I think I used AppMover because I wanted to move the program files as well as the data.
At present I can’t start up the program, so it is difficult to change this.
So I guess you are saying: You got yourself into this mess, and you are beyond our help.
Do you happen to know where MailClient.exe finds the information telling it where to create the Roaming folder?
Even after a clean reinstall, it still creates a new Roaming folder on E:
Hi David, I was not trying to suggest this is an issue left for you to resolve, but unfortunately it was caused by non-standard interference into the internal files.
I’ve submitted this issue to the developers for a possible solution or a way out of this loop, but it might take a while before they reply.
One possible scenario you could try is to uninstall the application (make sure it’s supposed to be uninstalled).
Then you can try to run the application install through ‘Run’ with this criteria:
msiexec /i setup.msi
MAILCLIENTINSTALLLOCATION=
This will install eM Client onto another location, also make sure the eM Client directory from your Roaming folder is deleted.