Presentation is loading. Please wait.

Presentation is loading. Please wait.

.NET deployment and configuration (but mostly about security) Jørgen Thyme Microsoft Denmark.

Similar presentations


Presentation on theme: ".NET deployment and configuration (but mostly about security) Jørgen Thyme Microsoft Denmark."— Presentation transcript:

1 .NET deployment and configuration (but mostly about security) Jørgen Thyme Microsoft Denmark

2 Agenda What’s an application? What’s an application? Building and Packaging Building and Packaging Deploying and Administering Deploying and Administering Sharing and Culture Sharing and Culture

3 Common Language Runtime Applications One or more assemblies One or more assemblies Assemblies resolution Assemblies resolution  Using metadata  Local (preferred)  Assembly Global Cache Different applications may use different versions of an assembly Different applications may use different versions of an assembly  Easier software updates  Easier software removal

4 Applications overview A lot of options Rich client Rich client  Remember.NET Framework distributable!  Traditionel desktop  Controls (via IE) – no more ActiveX  Via (IE) aka No Touch Deployment Thin clients Thin clients  Web applications  Web services  Mobile web applications PDA’er – compact framework PDA’er – compact framework

5 Agenda What’s an application? What’s an application? Building and Packaging Building and Packaging Deploying and Administering Deploying and Administering Sharing and Culture Sharing and Culture

6 Building and Packaging Assemblies - review CLR Header Metadata MSILManagedcode APP.EXE

7 Building and Packaging Building Types Into An Assembly RUT.cs method’s compiled MSIL Metadata RUT.cs defined types, methods… RUT.cs referenced types, methods… RUT.mod (using Compiler) FUT.cs method’s compiled MSIL Metadata FUT.cs defined types, methods… FUT.cs referenced types, methods… Types.dll (using Compiler) Manifest Assembly files (self & RUT.mod) Exported types (self & RUT.mod)

8 Building and Packaging Building Types Into An Assembly RUT.cs method’s compiled MSIL Metadata RUT.cs defined types, methods… RUT.cs referenced types, methods… RUT.mod (using Compiler) FUT.cs method’s compiled MSIL Metadata FUT.cs defined types, methods… FUT.cs referenced types, methods… FUT.mod (using Compiler) (No MSIL) Metadata Types.dll (using Assembly Linker) Manifest Assembly files (FUT.mod & RUT.mod) Exported types (FUT.mod & RUT.mod)

9 Agenda What’s an application? What’s an application? Building and Packaging Building and Packaging Deploying and Administering Deploying and Administering Sharing and Culture Sharing and Culture

10 Deploying and Administering Simple Application Deployment Simple Deployment: Simple Deployment:  File copy using batch file setup  No modifications to registry or Active Directory  To uninstall the application, simply delete all the files Other Deployment Methods: Other Deployment Methods: .CAB .MSI

11 Using Configuation File Using Configuation File  An XML file  A file with.exe.config extension Deploying and Administering Simple Administrative Control AppDir\ {application’s assembly files} AuxFiles\ {Types’sassembly files}

12 Deploying and Administering Configuration File

13 Deploying and Administering Smart Application Deployment Smart Deployment: Smart Deployment:  “Return of the Winform!”  Still no modifications to registry or Active Directory  Using the web  Components  Windows Forms applications – ”No Touch Install”

14 Demonstration ”Return of the Win Form”

15 Agenda What’s an application? What’s an application? Building and Packaging Building and Packaging Deploying and Administering Deploying and Administering Sharing and Culture Sharing and Culture

16 Sharing and Culture Shared Assemblies What Is It? What Is It?  Specifically designed for use by multiple applications  Structurally identical to private assemblies  Must be placed in a specific location – Global Assembly Cache (GAC) <%WINDIR%>\Assembly  Must be registered using AL.EXE or GACUTIL.EXE

17 Sharing and Culture Strongly Name Assemblies MSIL Metadata Calculus.dll Public Key PE File Manifest Public Key RSA Digital Signature Hash File RSA Digital Signature Hash PE File Signed with private key

18 Demonstration Shared Assembly Shared Assembly Properties

19 Sharing and Culture Version Numbers What Is Versioning All About? What Is Versioning All About?  Runtime only applies version policy to strongly named assemblies  Runtime uses whatever private assemblies it can find, regardless of its version information Example Example 2.5.719.2 major.minor.build.revision

20 Sharing and Culture Culture What is Culture? What is Culture?  Used to develop similar assemblies for different languages  Identified via a string that contains a primary and secondary tag  If no culture string is explicitly assigned, the assembly is considered “Culture- Neutral” Example Example // Set assembly's culture to Swiss German [assembly:AssemblyCulture("de-ch")]

21 Sharing and Culture Side-By-Side Execution App.exe AssemblyRef 1: Name: Calculus.dll Name: Calculus.dll Version: 1.2.3.4 Version: 1.2.3.4 Culture: “” Culture: “” PublicKeyToken: 22acab57c8682eac PublicKeyToken: 22acab57c8682eac AssemblyRef 2: Name: AdvMath.dll (private assembly) Name: AdvMath.dll (private assembly) Calculus.dllAssemblyDef: Version: 1.2.3.4 Version: 1.2.3.4 Culture: “” Culture: “” PublicKey: 22acab57c8682eac PublicKey: 22acab57c8682eac AdvMath.dll AssemblyRef 1: Name: Calculus.dll Name: Calculus.dll Version: 2.0.0.0 Version: 2.0.0.0 Culture: “” Culture: “” PublicKeyToken: 03689116d3a4ae33 PublicKeyToken: 03689116d3a4ae33 Calculus.dllAssemblyDef: Version: 2.0.0.0 Version: 2.0.0.0 Culture: “” Culture: “” PublicKey: 03689116d3a4ae33 PublicKey: 03689116d3a4ae33

22 Discussion


Download ppt ".NET deployment and configuration (but mostly about security) Jørgen Thyme Microsoft Denmark."

Similar presentations


Ads by Google