.NET Protection & Linking FAQ |
Previous Top Next |
Reason 1: Running from network drive. Often developers run their .NET application from a network drive to test it. By default the .NET Framework provides limited execution and access permissions for .NET programs that are initially run from a network drive. Programs run in this environment are likely to throw an exception. If the exception is not caught by your program it may lead to a crash message display. To make sure this is not your problem, try copying your application to c:\ and running it from there. |
Click here for instructions How to change the security policies for your .NET application: |
If you edit the .NET security policies for your local machine by editing the security.config XML file (or using the control panel), these security settings will be "frozen" into your Thinstall packaged .NET application at the time of build. In the future your .NET application will always use these security settings even if the user's machine has different settings. This permits you to enable your application to run from LAN and internet download links without any security restrictions. Note: Internet Explorer will no longer recognize your application as being a .NET application after it is linked using Thinstall, so the user will still encounter a dialog box stating they are about to run an EXE program. |
Reason 2: Renaming EXE after build. Some control licensing systems will crash if the final EXE is renamed after build. This problem is not related to Thinstall at all, but is commonly encountered by our customers. To see if this is your problem, rename your original EXE from ABC.EXE to XYZ.EXE and ensure it runs fine without Thinstall. If you do not enter an output EXE when creating a new Thinstall project, Thinstall selects the exe output name of
"setup_PROGRAMNAME.exe". The prepended "setup_" could be causing a problem. Also, when Internet Explorer downloads files to the Temp directory it may append "[1]" and "[2]" to your EXE name if the user downloads the EXE more than once. For example PROGRAM.EXE becomes PROGRAM[1].EXE. If this is a problem for you, you should enable Thinstall's Installer so that your program is copied to c:\program files before it is run. In the installer options, you should change the "Installed EXE Name" option from "%ProgramName%" to MYPROGRAM.EXE (where myprogram.exe is the name of the EXE your program must be named or it crashes). |
Reason 3: Using Destroy PE Header Option with programs that have unmanaged code. By default Thinstall enable's the feature "Destroy PE Header" found using Menu -> Link -> Program Security -> PE Header Security -> Destroy PE Header. When this box is checked Thinstall will erase selective portions of the EXE so that it is more difficult to contruct your executable from memory. This feature is not compatible with some programs that use unmanaged code.
If you are using the Xheo Licensing System or obfuscator in conjunction with Thinstall, you will need to disable this option. |