think the problem is not how to get old wallet to new client
problem is corrupted wallet file
you are correct...it says its corrupted and the wallet just closes
ok...then, follow this directions.
Corrupt wallets used to cause a DB_RUNRECOVERY uncaught exception and a
crash. This commit does three things:
1) Runs a BDB verify early in the startup process, and if there is a
low-level problem with the database:
*Moves the bad wallet.dat to wallet.timestamp.bak
*Runs a 'salvage' operation to get key/value pairs, and writes them to a new wallet.dat
*Continues with startup.
2) Much more tolerant of serialization errors. All errors in deserialization
are tolerated EXCEPT for errors related to reading keypairs
or master key records-- those are reported and then shut down, so the user
can get help (or recover from a backup).
3) Adds a new -salvagewallet option, which:
*Moves the wallet.dat to wallet.timestamp.bak
*extracts ONLY keypairs and master keys into a new wallet.dat
*soft-sets -rescan, to recreate transaction history