{smartassembly}, .net software Obfuscation, Protection & Improvement


Product F.A.Q.

General questions

What is {smartassembly}?

{smartassembly} is an all-in-one improvement and protection tool for managed applications, designed to be easy-to-use, friendly-to-use, and smart.
It helps create an application which is optimized for speed and size, easier to deploy; which helps you protect your intellectual property and your work; and which offers a unique error feedback process to help you improve the quality of your software.

Who should use {smartassembly}?

{smartassembly} is designed for all developers who produce applications written in managed code (C#, VB.NET etc…).
Each developer who wants to easily optimize and improve his software shall use {smartassembly} to analyze his Application, improve its performances, and simplify its deployment.
Each developer who has invested time in his work shall protect his investment and use {smartassembly} to protect his application.
Each developer who wants to improve the quality of his software and build a bullet-proof Application shall use {smartassembly} to handle his exception reports.

How does {smartassembly} work?

Once your application is compiled and ready to ship, you just run {smartassembly}: it analyzes your application and its dependencies, and guides you through the options of the project. Based on its analysis and the options you have chosen, {smartassembly} then creates a new application with enhanced performance, protected and with new features. But still 100%.NET.
It is a quick and easy process which immediately generates an improved application ready to deploy.

What kind of Application can be improved and protected by {smartassembly}?

As long as your Assembly is 100% managed, {smartassembly} can work with any kind of Application (Windows Forms Applications, Console Applications and DLL Libraries) created with any version of the .NET Framework (from 1.0 to 3.5).

What are the system requirements to run {smartassembly}?

{smartassembly} 3.0 is itself a .NET 2.0 Application, and thus needs the .NET Framework version 2.0 or higher to run. This means that the .NET framework version 2.0 or higher must be installed on the development machine, which will build the new Assembly.

What are the system requirements to run the improved version of my Assembly?

{smartassembly} will build a new Assembly, which targets the same version of the .NET Framework than the original Assembly. Nothing more is required.

What is the cost for the Online Web Service?

Please refer to the Purchase FAQ for more information.

Is there a command line version of {smartassembly}?

Yes, the command line version is {smartassembly}.com and is available in the same folder than {smartassembly}.exe.
You need to configure the project in the {smartassembly} GUI mode, and then use the command line mode to build the project. For more information, you can run "{smartassembly}.com /?".

Does {smartassembly} 3.0 support Windows Vista?

Yes, {smartassembly} has been tested on Windows Vista and is 100% compatible. The assemblies created by {smartassembly} are also compatible with Windows Vista.

Does {smartassembly} 3.0 support the .NET Framework 3.5?

Yes, {smartassembly} fully supports the .NET Framework 3.5.

About Merging


What is Merging?

Merging is the process of transforming a multiple-assembly Application into a single-assembly Application. {smartassembly} scans your Application and merges the main Assembly and its dependencies, to create a single Assembly.

What are the benefits of merging the dependencies with the main Assembly?

Merging the dependencies with the main Assembly makes the application easier to deploy, because there are less files to distribute.
It avoids DLL-Hell, as the dependencies are no longer located at runtime.
It avoids Versioning-Hell, because the exact version of each dependency is linked before shipping the application.
It improves performances, as every method calls are no longer cross-module calls but rather internal calls. No more by-name method calls.
It improves loading-time, as the CLR does not need to locate and load several assemblies.

About Pruning


What is Pruning?

Pruning is the removal of the non-useful code and metadata from your Application, such as: dead code, not-yet implemented features, specific design-time code, external components generic code... {smartassembly} scans your code and automatically determines which code is useful and which code will never be executed at run time.

What are the benefits of Pruning?

Pruning reduces the size of the Assembly, and thus improves loading time and global performance. A smaller Assembly is also easier to deploy through the Internet or a corporate network.
It also avoids exposing non useful code, like code not fully implemented yet, which may reveal upcoming features.

About Protection


What kind of Protection is offered?

{smartassembly} protects your Application by Obfuscating the code and metadata, and encoding all the resources strings.

What are the benefits of Protection?

You have invested time in your work. You shall protect this investment.
Through Obfuscation and String Encoding, {smartassembly} highly complicates the work needed to understand your code. It helps you protect your work, your Intellectual Property and your investment.
Besides, the renaming in meaningless short symbols also reduces the size of your Assembly and thus improves its performances.




Purchase >  


New version Available