If you are building the exe on the your development machine and porting it to a target machine, then the first test is if the exe runs on the development machine. If it does, that means the exe was built correctly. If it runs on the development machine but not the target machine, then that means you have missing or non-matching drivers or support files on the target machine.