CPU USAGE GOES TO 100% with new 2.4
cpf.exe is a true issue with 2.4 due logging, while cmdagent.exe is (usually) due to monitor dll injections and this has been reported since 2.3. Like Kail stated, the logging issue hogging cpu is more apparent with more simultaneous, active connections.
Version 2.4 – cpf.exe and high CPU
http://forums.comodo.com/index.php/topic,6819.0.html
http://forums.comodo.com/index.php/topic,6933.0.html
http://forums.comodo.com/index.php/topic,6943.0.html
Version 2.4 – cmdagent.exe and high CPU
http://forums.comodo.com/index.php/topic,5499.0.html
http://forums.comodo.com/index.php/topic,5972.0.html
http://forums.comodo.com/index.php/topic,6160.0.html
Strongly named assembly and weakly named assembly
Strong Name Utility,SN.exe – [assembly:AssemblyKeyFile("fsyKey.keys")]
GAC – Global Assembly Cache C:\Windows\Assembly\GAC
GACUtil.exe
“(Version)_(Culture)_(PublicKeyToken)”
Response file : on the command line prepended by an @ sign OR CSC.rsp OR /noconfig
Delayed Signing or partial signing. CSC.exe – AssemblyKeyAttribute and AssemblyDelaySignAttribute AL.exe /keyf[ile] or /delay[sign]
The following list summarizes the steps discussed in this section to develop your assembly
by using the delay signing technique:
1. While developing an assembly, obtain a file that contains only your company’s public key and add the following two attributes to your source code:
2. [assembly:AssemblyKeyFile("MyCompanyPublicKey.keys")]
[assembly:AssemblyDelaySign(true)]
3. After building the assembly, execute the following line so that you can install it in the GAC, build other assemblies that reference the assembly, and test the assembly.Note that you have to do this only once; it’s not necessary to perform this step each time you build your assembly.
SN.exe ÐVr MyAssembly.dll
4. When ready to package and deploy the assembly, obtain your company’s private key(key pair) and execute the following line:
SN.exe -R MyAssembly.dll MyCompany.keys
5. To test, turn verification back on by executing the following line:
SN -Vu MyAssembly.dll
Culture
Cultures are identified via a string that contains a primary and a secondary tag
RFC1766 zh-CN example: [assembly:AssemblyCulture("zh-CN")]
culture neutral
satellite assembly
Access a satellite assembly’s resources using the System.Resources.ResourceManager class.
using the System.Reflection.AssemblyCultureAttribute custom attribute instead of using AL.exe’s /culture switch
Privately deployed assembly
an application can control its directory and its subdirectories but has no control over other directories.
Use the classes defined in the System.Configuration namespace to manipulate a configuration file at runtime.
The Machine.config file is located in the following directory:
C:\WINDOWS\Microsoft.NET\Framework\version\CONFIG
http://support.microsoft.com/kb/915797
Microsoft Management Console
Solution: If you start certain snap-ins for Microsoft Management Console 3.0 and then subsequently uninstall Windows Server 2003 SP2, you may not be able to start some or all of the snap-ins in Microsoft Management Console 2.0 afterwards. If this occurs, remove all the files in the %APPDATA%\Microsoft\MMC\ folder.
Getting the error “MMC has detected an error in snap-in”?
After you install Windows 2003 Service Pack 2 or the SBS 2003 R2 Technologies, you might start seeing some MMC snap-ins displaying an error similar to this:

The source of the problem is that the snap-in is not fully compatible with MMC 3.0, and you most likely have already realized that both Windows 2003 Service Pack 2 and the SBS 2003 R2 Technologies install MMC 3.0.
These are some of the components that you might encounter this problem with:
* Health Monitor MMC
Solution: Choose “Continue running and ignore errors with this snap-in for the rest of the session” and KB915797
* ISA 2004
Solution: Install ISA 2004 SP2 and KB930414
* POP3 Connector
Solution: Install KB921096
* Group Policy Editor Tool
Solution: Solved in Windows 2003 SP2. See KB915797
* SQL Server 2000 Analysis Services
Solution: Choose “Continue running and ignore errors with this snap-in for the rest of the session”. See KB915091
self-describing
/t:exe, /t:winexe, /t:library a single PE file that contains the manifest metadata tables.
/t:module doesn’t contain the manifest metadata tables.an extension of .netmodule.
The Assembly Linker(AL.exe) has no way to combine multiple files into a single file.
AL.exe /embed[resource], /link[resource], /win32res, /win32icon
CSC.exe /resource, /linkresource, /win32res, /win32icon
set the version resource fields using custom attributes that you apply at the assembly level in your source code.
//AssemblyInfo.cs
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("easyPower")]
[assembly: AssemblyDescription("easy Used Power")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("vOnsy.org")]
[assembly: AssemblyProduct("FSY easyPower Type Library")]
[assembly: AssemblyCopyright("Copyright © FSY 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("80e341f5-3377-4a0a-8569-c7f1353b1b9b")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]
Format of Version Numbers: Major Number, Minor Number, Build Number, Revision Number
§ AssemblyFileVersion This version number is stored in the Win32 version resource. This number is informational only; the CLR doesn’t examine or care about this version number in any way. Typically, you set the major and minor parts to represent the version you want the public to see. Then you increment the build and revision parts each time a build is performed. Ideally, Microsoft’s tool (such as CSC.exe or AL.exe) would automatically update the build and revision numbers for you (based on the data/time when the build was performed), but unfortunately they don’t. This version number can be seen when using Windows Explorer and is used to determine exactly when an assembly file was built.
§ AssemblyInformationalVersionAttribute This version number is also stored in the Win32 version resource, and again, this number is informational only; the CLR doesn’texamine or care about it in any way. This version number exists to indicate the version of the product that includes this assembly.Typically, you set the major and minor parts of this version number to represent the public version of your product. Then you increment the build and revision parts each time you package a complete product with all its assemblies.
§ AssemblyVersion This version number is stored in the AssemblyDef manifest metadata table. The CLR uses this version number when binding to strongly named assemblies. This number is extremely important and is used to uniquely identify an assembly. When starting to develop an assembly, you should set the major, minor, build, and revision numbers and shouldn’t change them until you’re ready to begin work on the next deployable version of your assembly. When you build an assembly, this version number in the referenced assembly is embedded in the AssemblyRef table’s entry. This means that an assembly is tightly bound to a specific version of a reference assembly.
//ps: VS2005 Version Number Manage is OK!