The Ubisoft Game Launcher was built around a specific era of Microsoft Visual C++. If you have a fresh Windows install or have uninstalled old runtimes, the launcher will throw Error Code 2.
The Digital Citadel: A Technical and Operational Analysis of Ubisoft Game Launcher Error Code 2 in Far Cry 3 far cry 3 ubisoft game launcher error code 2