Module 4: Deployment and Versioning. Overview Introduction to Application Deployment Application Deployment Scenarios Related Topics and Tools.

Slides:



Advertisements
Similar presentations
Ahead of Time Dynamic Translation PreJit/NGEN by any other name George Bosworth Microsoft MRE04 March 21, 2004.
Advertisements

Using.NET Platform Note: Most of the material of these slides have been taken & extended from Nakov’s excellent overview for.NET framework, MSDN and wikipedia.
Building Localized Applications with Microsoft.NET Framework and Visual Studio.NET Achim Ruopp International Program Manager Microsoft Corp.
Module 4: Deploying and Managing BizTalk Applications
Deployment Your Salvation from DLL Hell. Objectives Overview Assemblies „XCopy“ Deployment Configuration Administration.
.NET deployment and configuration (but mostly about security) Jørgen Thyme Microsoft Denmark.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
.NET Framework Tools Albrecht Wöß Institute for System Software Johannes Kepler University Linz © University of Linz, Institute for System Software, 2004.
Introducing the Common Language Runtime for.NET. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution.
Assembly Where it all gets physical. Objectives Introduce concepts of assemblies Discuss elements of assemblies Show how to build assemblies Runtime aspects.
Lesson 18: Configuring Application Restriction Policies
ASP.Net Security: Fundamentals Chapters 1-4 Freeman and Jones Book.
Introducing the Common Language Runtime. The Common Language Runtime The Common Language Runtime (CLR) The Common Language Runtime (CLR) –Execution engine.
National Instruments Confidential Deployment Techniques for LabVIEW ™ Applications Kennon Cotton LabVIEW R&D Group Manager.
Deploying and Managing Software by Using Group Policy.
Module 15 Configuring and Deploying Windows Client Applications.
MS systems use one of the following: LanManager Hash (LM) LanManager Hash (LM) NT LanManager (NTLM) NT LanManager (NTLM) Cached passwords Cached passwords.
A Free sample background from © 2001 By Default!Slide 1.NET Overview BY: Pinkesh Desai.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
Lecture Roger Sutton CO530 Automation Tools 5: Class Libraries and Assemblies 1.
Introduction to .Net Framework
1 Namespaces and Assemblies © University of Linz, Institute for System Software, 2004 published under the Microsoft Curriculum License.
ASP.NET The.NET Framework. The.NET Framework is Microsoft’s distributed run-time environment for creating, deploying, and using applications over the.
The Metadata System1. 2 Introduction Metadata is data that describes data. Traditionally, metadata has been found in language- specific files (e.g. C/C++
Module 1: Introduction to C# Module 2: Variables and Data Types
DEV343.NET Application and Library Versioning Juval Löwy
CIS NET Applications1 Chapter 2 –.NET Component- Oriented Programming Essentials.
.NET Framework & C#.
Understanding Code Compilation and Deployment Lesson 4.
Importing outside DLLs into.Net platform and using them By Anupama Atmakur.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
ASSEMBLY. A SSEMBLY Assemblies are the fundamental units of applications in the.net framework An assembly can contain classes, structures, interfaces.
Virtual techdays INDIA │ Nov 2010 Developing Office Biz Application using WPF on Windows 7 Sarang Datye │ Sr. Consultant, Microsoft Sridhar Poduri.
ASSEMBLIES AND THE GAC CHAPTER 1, LESSONS 4-7 & LAB.
Agenda Assemblies 101 Anatomy of an Assembly What is Metadata? Assembly Variations Signing Assemblies Global Assembly Cache.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
CS795/895: Introduction. Topics Distributed Systems –Availability –Performance –Web Services Security –Authentication –Authorization –Confidentiality.
Component-Based Software Engineering Introduction to.NET Paul Krause.
.NET Framework Danish Sami UG Lead.NetFoundry
MSIL & CLI Kun-Yuan Shieh.
DEV325 Deploying Visual Studio.NET Applications Billy Hollis Author / Consultant.
Module 7 Configure User and Computer Environments By Using Group Policy.
Open Service Gateway Initiative (OSGi) Reporter : 林學灝 侯承育 1.
.NetDeploymentNOEA / PQC 2005 Application Deployment and Versioning Source: Joe Hummel, kursus i.Net, jan
Section 11: Implementing Software Restriction Policies and AppLocker What Is a Software Restriction Policy? Creating a Software Restriction Policy Using.
CN2140 Server II Kemtis Kunanuraksapong MSIS with Distinction MCT, MCITP, MCTS, MCDST, MCP, A+
System.Security.Policy namespace Chinmay Lokesh.NET Security CS 795 Summer 2010.
AUC Technologies Projects Consulting, Development, Mentoring, and Training Company.NET Assemblies Presented By : Muhammad Atif Hussain Deputy Manager IT.
Module 1: Getting Started. Introduction to.NET and the.NET Framework Exploring Visual Studio.NET Creating a Windows Application Project Overview Use Visual.
Module 6: Deploying and Managing Software by Using Group Policy.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
.NET Ying Chen Junwei Chen. What is Microsoft.NET. NET is a development platform Incorporated into.NET COM+ component services ASP web development framework.
Deploying Software with Group Policy Chapter Twelve.
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
Module 1 Introducing C# and the.NET Framework. Module Overview Introduction to the.NET Framework 4 Creating Projects Within Visual Studio 2010 Writing.
Text Introduction to.NET Framework. CONFIDENTIAL Agenda .NET Training – Purpose  What is.NET?  Why.NET?  Advantages  Architecture  Components: CLR,
Microsoft ® Official Course Module 6 Managing Software Distribution and Deployment by Using Packages and Programs.
Module 14: Advanced Topics and Troubleshooting. Microsoft ® Windows ® Small Business Server (SBS) 2008 Management Console (Advanced Mode) Managing Windows.
Assemblies. 2 Objectives Introduce assemblies –concept –creation –naming Discuss deployment –main.exe –dependent assemblies.
METADATA IN.NET Presented By Sukumar Manduva. INTRODUCTION  What is Metadata ? Metadata is a binary information which contains the complete description.
ClickOnce Deployment (One-click Deployment)
An Introduction to the Shared Source Common Language Infrastructure (SSCLI) Damien Watkins Copyright Watkins 2002.
.NET and .NET Core 2. .NET Runtimes Pan Wuming 2017.
Module 0: Introduction Chapter 2: Getting Started
Module 1: Getting Started
Module 10: Implementing Managed Code in the Database
The Role of Command Line Compiler (csc.exe)
ClickOnce Deployment (One-click Deployment)
Presentation transcript:

Module 4: Deployment and Versioning

Overview Introduction to Application Deployment Application Deployment Scenarios Related Topics and Tools

 Introduction to Application Deployment Common Concepts Simple Applications Componentized Applications Configuration and Distribution

Common Concepts Classes and Types Used in.NET Framework Applications Are: Organized in a hierarchy of namespaces Stored in PE files, such as DLLs and EXEs Fully described by metadata Assemblies: Are made up of one or more PE files Contain a manifest that identifies the assembly and its files Specify exported and imported classes and types Are units of deployment, reuse, and versioning

Simple Applications Require.NET Runtime Be Installed on Local Computer Can Be Run Directly from a File Server or Copied Locally Make No Registry Entries Cannot Break Another Application Eliminate DLL Hell Can Be Uninstalled by Deleting Locally Copied File(s)

Componentized Applications Assemblies Private to an Application Same as a simple application Assemblies Private to Related Applications Deployed into a common subdirectory Assemblies Shared with Other Unrelated Applications Require a strong name and version information Deployed into the global assembly cache

Configuration and Distribution Configuration Maintained in plain-text files Deployment Common distribution formats, such as a.CAB file or a.MSI file Common distribution mechanisms, such as Windows 2000 IntelliMirror or Microsoft Systems Management Server

 Application Deployment Scenarios A Simple Application A Componentized Application Specifying a Path for Private Assemblies A Strong-Named Assembly Deploying Shared Components A Versioned Assembly Creating Multiple Versions of a Strong-Named Assembly Binding Policy Deploying Multiple Versions of a Strong-Named Assembly

A Simple Application Use the Microsoft Intermediate Language Disassembler (Ildasm.exe) to Examine the Assembly Manifest Version information Imported types Exported types Deploy the Application by: Running the executable file directly from a file server, or Installing it locally by copying the file Uninstall the application by deleting the file

A Componentized Application Assembly Component to Be Used by Application Assembly Stringer.dll is built from Stringer.cs as follows: Client Needs to Reference Assembly Deployment by File Server or Local Copy csc /target:library Stringer.cs csc /reference:Stringer.dll Client.cs

Specifying a Path for Private Assemblies Specifying a Directory From Which to Load Private Assemblies. Client.exe.config file specifies a privatePath tag Configuration File’s XML Tags Are Case-Sensitive <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

Global Assembly Cache Contains assemblies shared by unrelated applications Strong Names Are Required for Assemblies in the Cache Generate a private key: Add code to source file to specify version and key information: Compile: #if STRONG [assembly: System.Reflection.AssemblyVersion(" ")] [assembly: System.Reflection.AssemblyKeyFile("orgKey.snk")] #endif #if STRONG [assembly: System.Reflection.AssemblyVersion(" ")] [assembly: System.Reflection.AssemblyKeyFile("orgKey.snk")] #endif csc /define:STRONG /target:library /out:AReverser.dll AReverser.cs csc /define:STRONG /target:library /out:AReverser.dll AReverser.cs sn –k orgKey.snk A Strong-Named Assembly

Deploying Shared Components Installing the Strong-Named Component in the Global Assembly Cache Examining the Global Assembly Cache Removing a Shared Component File gacutil /i AReverser.dll gacutil /l gacutil /u AReverser

A Versioned Assembly Applications Need to Bind to a Suitable Version of a Shared Assembly The Version Number Is Represented by a 4-Part Number Applications Get the Versions of Assemblies with Which They Were Built and Tested Unless overridden by explicit policy rules...

Creating Multiple Versions of a Strong-Named Assembly Building Two New Versions of AReverser with a New Key Pair Specify version for one and for the other For AReverser_v \AReverser.cs: Build Use Ildasm.exe to Examine Different Versions Note the publickey and version numbers Use Ildasm.exe to Verify Strong Names for Both Assemblies Different.originator property Updated version, or #if STRONG [assembly: System.Reflection.AssemblyVersion(" ")] [assembly: System.Reflection.AssemblyKeyFile("orgVerKey.snk")] #endif #if STRONG [assembly: System.Reflection.AssemblyVersion(" ")] [assembly: System.Reflection.AssemblyKeyFile("orgVerKey.snk")] #endif csc /define:STRONG /target:library /out:AReverser_v \AReverser.dll AReverser_v \AReverser.cs csc /define:STRONG /target:library /out:AReverser_v \AReverser.dll AReverser_v \AReverser.cs.assembly AReverser {....publickey = ( B1 F2 A0 ).hash algorithm 0x ver 2:0:1:0.assembly AReverser {....publickey = ( B1 F2 A0 ).hash algorithm 0x ver 2:0:1:0

Binding Policy Policy Resolution Allows an assembly reference, specified at compile time, to be modified after the application has been deployed without recompiling Happens in the Following Stages: 1. Application-policy resolution 2. Publisher-policy resolution 3. Administrator-policy resolution In Each Stage, an XML Configuration File Is Read Note: XML is case-sensitive Version Numbers of Assemblies That Are Not Strong-Named Are Not Checked Configuration File Tag Examples privatePath bindingRedirect

Deploying Multiple Versions of a Strong-Named Assembly Install Both Versions of AReverser.dll into the Global Assembly Cache Compile the VerClient Executable and Specify Version of the AReverser Component Use Version Policies to Control Assembly Binding at Run Time gacutil /i AReverser_v \AReverser.dll gacutil /i AReverser_v \AReverser.dll gacutil /i AReverser_v \AReverser.dll gacutil /i AReverser_v \AReverser.dll csc /reference:MyStringer\Stringer.dll /reference:AReverser_v \AReverser.dll VerClient.cs csc /reference:MyStringer\Stringer.dll /reference:AReverser_v \AReverser.dll VerClient.cs

 Related Topics and Tools Related Topics Packaging and Deployment Tools

Related Topics ASP.NET Assemblies Security Localization

Packaging and Deployment Tools Assembly Linker (Al.exe) Global Assembly Cache tool (Gacutil.exe) MSIL Disassembler (Ildasm.exe) Strong Name (Sn.exe) Native Image Generator (Ngen.exe) Assembly Binding Log Viewer (Fuslogvw.exe).NET Framework Configuration Tool (Mscorcfg.msc) Code Access Security Policy Tool (Caspol.exe)

Lab 4: Packaging and Deployment

Review Introduction to Application Deployment Application Deployment Scenarios Related Topics and Tools