So, you’re doing an upgrade. You copy the live system, run through the upgrade, and test it, before repeating the ‘upgrade’ bit during content freeze with the latest data. So far, so normal; it’s a sensible way to check your system before the big update.
Picture this, if you will. You’ve done the upgrade with a snapshot of the data. It’s taken months. You tested, fixed, tested, fixed, and you’re happy to start the content freeze, run the express migration tool, and go live. So you run the Express Migration tool 2.0, and then try logging in as Admin to check it worked…
You can’t log in.
And indeed, the new copy of the Core database doesn’t have ANY of your users in the Membership Provider. You told the Express Migration tool to migrate users – and there they ain’t. WTF!?
Well, it turns out that the Express Migration tool keeps a record of your settings, and of source and destinations for migrations. And it won’t migrate users on the second or later migration between a source and target. See: https://kb.sitecore.net/articles/583017
Yeah, I kid you not. Not even if you tell it to, and there’s no warning, no ‘are you sure’, it just skips it. I found this out the hard way, during a go-live.
Solution – Unzip a second copy of the Express Migration Tool, and carefully copy/repeat all of your migration settings.
I guess someone was trying to be ‘helpful’, but without an messages for the user, or options to ‘migrate anyway’, it’s just a hazard.