This would usually happen when the machine you install onto is missing some required assemblies.
Firstly, make sure that all assemblies references by your assembly (including any 3rd party ones) are actually present on the machine. If not, add them to the installer.
Secondly, check that the version of the framework is the same.
Finally, you can use something like Process Monitor from sysinternals [now owned by Microsoft] (http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx) to see if your application is trying to open a file which is not there. Look for "FILE NOT FOUND" errors.