.NET Support
Previous Top Next


clip0323
Click here to watch a demo of how Thinstall Helps .NET Developers

Thinstall provides a number of essential & unique features for .NET Programs

· Protect traditional .NET programs or Link required portions of the .NET Framework to make a single-EXE that runs on any computer with no install.
· .NET Project wizard automatically determines which .NET Files are required
· New: support for .NET Framework 2.0 final
· Typical program sizes are 4-7MB for .NET 1.1 and 7-12MB for .NET 2.0 applications.
· Run Applications directly from CDROM or Internet download link with zero install

· Thinstall prevents .NET IL byte code disassembly while maintaining 100% capability.
· Thinstall encrypts program strings, resources, code, and data on disk.
· Eliminate "Missing DLL mscoree.dll" error messages when the .NET Framework is not install time.
· Option 1: Thinstall checks for .NET before starting your program - if it is missing, the user is taken to download site.
· Option 2: Thinstall links required .NET Framework files so your program works on every computer even from CDROM.
· Thinstall compresses and encrypts all of your files using a transparent Virtual Filesystem. Thinstall is better than WinZip.
· Thinstall allows linking 3rd party managed and unmanaged DLLs directly into your EXE.
· Thinstall allows 3rd party unmanaged ActiveX & COM controls to be used without installation or registry changes.
· Thinstall supports all versions of Windows 95,98,ME,NT,2k,XP,2003+ (.NET does not 95)
· Thinstall supports .NET EXE Applications and Windows Services EXE files.
· .NET DLLs can be protected when packaged with a hosting EXE application (ASP.NET DLLs cannot currently be protected)


Why do you need protection?

Visual Studio .NET (C#, C++, and VB.NET) produces IL byte code that is in a format that allows for very easy disassembly and reassembly. Shipping an unmodified .NET program isn't far off from posting the source code on your web site. Microsoft's Ildasm.exe tool, included with the free Microsoft.NET SDK, allows easy inspection of the byte code for any .NET program. For example:

clip0168


How does Thinstall Protect .NET Programs?

Thinstall does not use Obfuscation, instead it encrypts the .NET Program inside of secure loader which prevents disassembly. The resulting EXE no longer appears to be a .NET Program and all IL & Intel code disassemblers are unable to decrypt the program stored inside. If a user tries to disassemble your new EXE, he/she will get an error message such as:

clip0171

Thinstall provides many additional benefits for .NET Programs:

· Thinstall maintains 100% compatibility with any use of reflection and introspection.
· Thinstall allows crash traces to continue to display meaningful stack traces with the name of the offending function
· Thinstall is backwards and forwards compatible with all versions of the .NET Framework (1.0, 1.1, and 2.0)
· Thinstall can prevents Debugger attachments to your program.
· Thinstall can prevent Memory Dumps of your program by tools such as ProcDump.

How does Thinstall compare with Obfuscators?

An obfuscator modifies your program "byte code" and tries to remove some of the symbol names found. Symbol names make reading disassembled .NET Programs very simple. Because your program must continue to interface with the .NET Framework, a large part of the symbol information cannot be removed. For example, in the code pictured above, the call to System.Windows.Forms.Control::Show() cannot be obfuscated. Obfuscators are also not able to remove strings and data used by your program, so sensitive data remains highly vulnerable to discovery.

· Obfuscation may break programs, especially if the programs use reflection or introspection. You may not know your program is broken until you fully test it.
· Obfuscation may cause your crash traces to become meaningless, making remote trouble-shooting very difficult.
· Obfuscated code is still disassemblable and reassemblable, it is just harder to understand. This adds only a small barrier to most programmers.

For a list of companies selling obfuscators, consult this URL .
A nice inexpensive Obfuscator is Frank Lesser's LSW IL Obfuscator
($39).


Thinstall Eliminates Mscoree.dll Missing Errors

When a user tries to run a program on a computer that does not have the .NET Framework installed, he/she will see the dialog box below appear.

clip0169

Not very informative, and is is a very bad first impression of your software. Even if you have a full setup package that checks for .NET before it installs, your software may be located on, or copied from, a network drive that allows your software to executed on a computer that does not have the .NET Framework installed. If you want to distribute .NET Exe files that work without an install you are out of luck. With Thinstall applied to your .NET EXE, this error will never appear.

Why you need this feature:

· Without this feature distributing a single EXE program will lead to many support instances asking why the above error appears. You are forced to always deploy a full setup package that checks for the .NET Framework.
· After install, the computer containing your software may have the operating system reinstalled and the .NET Framework is suddenly missing. The user will see the above error dialog and not know that he/she needs to install the .NET Framework.
· Your software may be installed to a network drive location. Other computers on the network will display the above error dialog because the .NET Framework was only installed by your setup package on one computer.

Using Thinstall's .NET Framework Checking feature, your program can automatically direct the user to download the .NET Framework if it is missing. This functionality is built directly into your EXE, so there are no separate files or setup packages to build or distribute.


Other features Thinstall can add to your program

Link required .NET Framework files directly into your EXE
Inject a program installer into your program.
Add business logic and licensing rules such as 30-day trial demos
Bundle multiple EXEs into a single program - execute EXEs without extracting to disk ( See Unix Tools demo
)
Support for all programming languages, not just .NET ( See Visual Basic 6 demo)