(12) United States Patent (10) Patent No.: US 8,336,043 B2 Lavery Et Al

Total Page:16

File Type:pdf, Size:1020Kb

(12) United States Patent (10) Patent No.: US 8,336,043 B2 Lavery Et Al USOO8336043B2 (12) United States Patent (10) Patent No.: US 8,336,043 B2 Lavery et al. (45) Date of Patent: Dec. 18, 2012 (54) DYNAMIC DEPLOYMENT OF CUSTOM 2006, 0080468 A1 4/2006 Vadlamani et al. CODE 2006, O136344 A1 6/2006 Jones et al. 2006, O155672 A1 7/2006 Lee et al. (75) Inventors: Darryn O. Lavery, Seattle, WA (US); OTHER PUBLICATIONS Adriaan W. Canter, Seattle, WA (US); Campbell, S., et al., Introducing Microsoft(R) VisualBasic 2005 for Sameer V. Bhangar, Seattle, WA (US); Developers, Microsoft Press (2005).* Byrd, P. Day 1: Introduction to Managed Code and the .NET Infra Thomas E. Quinn, Seattle, WA (US); structure, Toolbox for IT (2005).* Justin Kwak, Redmond, WA (US); Jeff “Click Once to Managed Code?,” Microsoft Monitor Weblog, Oct. Young, Snoqualmie, WA (US); Brent 29, 2003, A Jupiter Research Business Weblog. http://www. Rector, Redmond, WA (US) microsoftmonitor.com/archives/001774.html. “System. Deployment. Application Namespace.” (C) 2006 Microsoft Corporation, http://msdn2.microsoft.com/en-us/library/system.de (73) Assignee: Microsoft Corporation, Redmond, WA ployment.application(d printer).aspx, last accessed Nov. 15, 2006. (US) Bamford, Roger et al., “A Scalable and Highly Available Networked Database Architecture.” Proceedings of the 25th VLDB Conference, (*) Notice: Subject to any disclaimer, the term of this Edinburgh, Scotland, 1999, pp. 199-201. patent is extended or adjusted under 35 Carmo, Joao Leonardo et al., “Using Visual Studio Extensibility Mechanisms for Requirements Specification.” 2005, International U.S.C. 154(b) by 1658 days. Conference on Innovative Views of the .Net Technology, pp. 45-57. Jai, Benchiao, "A Lightweight Dynamic OOP Framework for Auto (21) Appl. No.: 11/675,591 matic Application Location, Installation and Upgrade.” 1998, http:// scholar.google.com/scholar?hl=en&lr=& (22) Filed: Feb. 15, 2007 q=cache:WWQcfgl4yFw.J:www.bell-labs.com/user/benai/ OOPSLA'98.pdf+application+installation+add+ins, last accessed (65) Prior Publication Data Sep. 13, 2006). Noyes, Brian, “Deploy and Update Your Smart Client Projects. Using US 2008/O2O1707 A1 Aug. 21, 2008 a Central Server.” MSDN Magazine, May 2004, http://msdn. microsoft.com/msdnmag/issues/04/05/ClickOnce/default.aspx. (51) Int. Cl. G06F 9/445 (2006.01) * cited by examiner (52) U.S. Cl. ........................................ 717/173; 717/178 Primary Examiner — Anna Deng (58) Field of Classification Search .................. 717/169, (74) Attorney, Agent, or Firm — Perkins Coie LLP 717/172,173, 175, 178 See application file for complete search history. (57) ABSTRACT A method and system for dynamically downloading custom code for execution within a host application is provided. A (56) References Cited deployment system augments the manifest used for deploy ing managed applications to include information describing U.S. PATENT DOCUMENTS how the host application is to use the custom code, referred to 5,797,015 A 8, 1998 Daniels, Jr. et al. as host manifest information. The deployment system reports 5,916,308 A 6, 1999 Duncan et al. the progress of the downloading of the manifest and the 6,347,398 2, 2002 Parthasarathy et al. ....... 717/178 custom code to the host application. The host application can 6,976,037 B1 12, 2005 D'Souza et al. then perform appropriate host-specific processing. The host 2004.01284.00 A1 T/2004 Srinivasan et al. application may provide to the deployment system an inter 2004/0268301 A1 12, 2004 Kaston 2005, 0160104 A1 7/2005 Meera et al. face for verifying the trust of the custom code. The deploy 2005, 0160414 A1 7/2005 Parnanen et al. ment system also allows the host application to control the 2005, O2624.80 A1 11/2005 Piketal. uninstalling of the custom code. 2006.0036993 A1 2, 2006 Buehler et al. 19 Claims, 7 Drawing Sheets 430 440 unmanaged custom managed custom 41 42 (ccidentifier) start CLR - 431 assage isaitiate host CCM 432 441 instantiatechest CCDM) CCM s instantiate IPHM 33 --F 44 CCM:Install H PHM:GetManifestAsync 443 receive eyet GetManifestcompleted HM: DownloadApplicationAsync 4 event: Irwoke custarticise DownloadApplicationCompleted U.S. Patent Dec. 18, 2012 Sheet 1 of 7 US 8,336,043 B2 I"OIH U.S. Patent Dec. 18, 2012 Sheet 2 of 7 US 8,336,043 B2 host process 2OO host Code 210 unmanaged custom Code loader 220 O |ReportProgress TrustVerify host CCDM managed 231 Custom Code loader 230 FIG 2 U.S. Patent Dec. 18, 2012 Sheet 3 of 7 US 8,336,043 B2 host process 3OO C ReportProgress TrustVerify host 310 Host CCDM 311 Custom Code loader (unmanaged) 320 Custom COde loader (managed) 330 FIG. 3 U.S. Patent Dec. 18, 2012 Sheet 4 of 7 US 8,336,043 B2 U.S. Patent Dec. 18, 2012 Sheet 5 Of 7 US 8,336,043 B2 CCDM:nstall security 501 receive event GetManifestCompleted 502 check signature of manifest signature verified |TrustVerify:Verify Trust (evidence) return error N FIG. 5 U.S. Patent Dec. 18, 2012 Sheet 6 of 7 US 8,336,043 B2 CCDM. Instal 6O1 |ReportProgress: OnCCInstalling 6O2 ReportProgress: On Manifestdownloading s 603 receive event GetManifestCompleted 604 |Report Progress: On Manifest)OWnloaded 605 out of date Y 606 ReportProgress: OnCCDownloading 6O7 receive event DownloadedProgressChanged 608 |ReportProgress. OnCC Downloaded ProgressChanged 609 receive event DownloadApplicationCompleted 610 |ReportProgress: On CCDownloaded 611 ReportProgress: OnCCInstalled FIG. 6 U.S. Patent Dec. 18, 2012 Sheet 7 Of 7 US 8,336,043 B2 704 verify trust of managed app unloading from Cache FIG. 7 US 8,336,043 B2 1. 2 DYNAMIC DEPLOYMENT OF CUSTOM hosting program is then provided with the identifier (e.g., CODE URL) of the application manifest. To deploy the application program, the hosting program uses the manifest identifier to BACKGROUND retrieve the manifest from the deployment server. The hosting program can then download the components specified in the The deployment of Software within an organization has manifest, install the managed application within the .NET traditionally been an expensive and time-consuming process. Framework, and start the execution of the managed applica For example, an organization that wants to install an applica tion in an appdomain that is separate from the appdomain of tion program on each of its computer systems may need to the hosting program. To help the hosting program with have a technician go to each computer system and manually 10 control the installation of the application program. To help deploying managed applications, the ClickOnce deployment reduce the expense and time of deploying application pro technology provides an in place hosting manager class grams, an administrator of an organization may use a system (“IPHM). The hosting program instantiates an in place host management service to control the deployment. A system ing manager object and requests the object to install the management service helps automate the installation of the 15 managed application specified by the application manifest. application programs on the computer systems of the organi The in place hosting manager object may help ensure that the Zation. The system management service could distribute and managed application can be trusted (e.g., by comparing the install various application programs on the desired computer provider to lists of trusted or untrusted providers). The in systems. After an application program is installed on desired place hosting manager object may also ensure that the man computer systems of the organization, the users of those aged application executes with the security level specified in computer systems can start to use the application program. the application manifest. The in place hosting manager object Although system management services have achieved their may cache the downloaded managed application so that it can goal of reducing expense and time, such static deployment of Subsequently load the managed application without having to application programs has some disadvantages. First, even download it again from a server. As needed, the in place though the Software may be installed on a certain computer 25 hosting manager object will automatically remove managed system, the user may never use that application program. As applications from the cache. The in place hosting manager a result, the installed application program is unnecessarily object may also ensure that the most recent version of a consuming resources (e.g., disk space) of the computer sys managed application is loaded. tem. Second, a user who wants to use the application program Many application programs, both managed and unman may not have it installed on their computer system because it 30 aged, allow custom code (e.g., addins and document-level was not designated as a desired computer system during customizations) to be provided by third parties. Such appli deployment. In such a case, an administrator may need to cation programs expose functionality that can be used by the manually control the installation of the application program custom code. The custom code may improve the usability of on that user's computer system. the application programs or provide additional functionality Many application programs are developed to be "man 35 (e.g., domain-specific functionality). Custom code logically aged' applications that execute within the .NET Framework executes in the same process space or appdomain as the provided by Microsoft Corporation. The .NET Framework application program, rather than as an executable application. provides a common language runtime (“CLR) that provides Because of the ease of developing custom code as managed high-level operating system type services to the managed code, many application programs Support the execution of applications and serves as an execution engine for managed 40 custom code in the NET Framework. The custom code may applications. The CLR ensures that managed applications do be stored as a dynamic link library, which can be loaded into not take any unauthorized action.
Recommended publications
  • Interview Questions ASP.NET
    Interview Questions ASP.NET 1. Describe the role of inetinfo.exe, aspnet_isapi.dll andaspnet_wp.exe in the page loading process. inetinfo.exe is theMicrosoft IIS server running, handling ASP.NET requests among other things.When an ASP.NET request is received (usually a file with .aspx extension),the ISAPI filter aspnet_isapi.dll takes care of it by passing the request tothe actual worker process aspnet_wp.exe. 2. What’s the difference between Response.Write() andResponse.Output.Write()? The latter one allows you to write formattedoutput. 3. What methods are fired during the page load? Init() - when the pageis instantiated, Load() - when the page is loaded into server memory,PreRender() - the brief moment before the page is displayed to the user asHTML, Unload() - when page finishes loading. 4. Where does the Web page belong in the .NET Framework class hierarchy? System.Web.UI.Page 5. Where do you store the information about the user’s locale? System.Web.UI.Page.Culture 6. What’s the difference between Codebehind="MyCode.aspx.cs" andSrc="MyCode.aspx.cs"? CodeBehind is relevant to Visual Studio.NET only. 7. What’s a bubbled event? When you have a complex control, like DataGrid, writing an event processing routine for each object (cell, button, row, etc.) is quite tedious. The controls can bubble up their eventhandlers, allowing the main DataGrid event handler to take care of its constituents. 8. Suppose you want a certain ASP.NET function executed on MouseOver overa certain button. Where do you add an event handler? It’s the Attributesproperty, the Add function inside that property.
    [Show full text]
  • Programming with Windows Forms
    A P P E N D I X A ■ ■ ■ Programming with Windows Forms Since the release of the .NET platform (circa 2001), the base class libraries have included a particular API named Windows Forms, represented primarily by the System.Windows.Forms.dll assembly. The Windows Forms toolkit provides the types necessary to build desktop graphical user interfaces (GUIs), create custom controls, manage resources (e.g., string tables and icons), and perform other desktop- centric programming tasks. In addition, a separate API named GDI+ (represented by the System.Drawing.dll assembly) provides additional types that allow programmers to generate 2D graphics, interact with networked printers, and manipulate image data. The Windows Forms (and GDI+) APIs remain alive and well within the .NET 4.0 platform, and they will exist within the base class library for quite some time (arguably forever). However, Microsoft has shipped a brand new GUI toolkit called Windows Presentation Foundation (WPF) since the release of .NET 3.0. As you saw in Chapters 27-31, WPF provides a massive amount of horsepower that you can use to build bleeding-edge user interfaces, and it has become the preferred desktop API for today’s .NET graphical user interfaces. The point of this appendix, however, is to provide a tour of the traditional Windows Forms API. One reason it is helpful to understand the original programming model: you can find many existing Windows Forms applications out there that will need to be maintained for some time to come. Also, many desktop GUIs simply might not require the horsepower offered by WPF.
    [Show full text]
  • Appendixes APPENDIX A
    PART 8 Appendixes APPENDIX A COM and .NET Interoperability The goal of this book was to provide you with a solid foundation in the C# language and the core services provided by the .NET platform. I suspect that when you contrast the object model provided by .NET to that of Microsoft’s previous component architecture (COM), you’ll no doubt be con- vinced that these are two entirely unique systems. Regardless of the fact that COM is now considered to be a legacy framework, you may have existing COM-based systems that you would like to inte- grate into your new .NET applications. Thankfully, the .NET platform provides various types, tools, and namespaces that make the process of COM and .NET interoperability quite straightforward. This appendix begins by examin- ing the process of .NET to COM interoperability and the related Runtime Callable Wrapper (RCW). The latter part of this appendix examines the opposite situation: a COM type communicating with a .NET type using a COM Callable Wrapper (CCW). ■Note A full examination of the .NET interoperability layer would require a book unto itself. If you require more details than presented in this appendix, check out my book COM and .NET Interoperability (Apress, 2002). The Scope of .NET Interoperability Recall that when you build assemblies using a .NET-aware compiler, you are creating managed code that can be hosted by the common language runtime (CLR). Managed code offers a number of ben- efits such as automatic memory management, a unified type system (the CTS), self-describing assemblies, and so forth. As you have also seen, .NET assemblies have a particular internal compo- sition.
    [Show full text]
  • A Programmer's Introduction to Visual Basic.NET
    00 2203-x FM 5/25/01 9:57 AM Page i Dear Reader, I wanted to take this opportunity to explain the rationale behind this book showing up on your shelf for free. Quite some time ago, Sams Publishing determined that the next big thing to hit the programmer/developer community would be Microsoft’s Visual Studio.NET and the .NET Framework. After discussions with many of you, our authors and key Microsoft team members, Sams dedicated itself to a strategy that would support your efforts to learn the .NET Framework as efficiently and as quickly as possible. A Programmer’s Introduction to Visual Basic.NET is the perfect example of how our strong relationship with Microsoft and our dedication to bring- ing you authors who are already respected sources in the community suc- cessfully blend and show that Sams Publishing is the source for .NET learning. Bringing you a Beta2 compliant book by May 2001 was not an easy task. Sams called upon a respected author, Craig Utley, to take on this project. Craig holds a unique place in the VB community where he has been devel- oping in VB since version 1.0. He brings years of experience as a trainer, writer, and speaker to this project and gives you the solid reference you need to make the transition from VB to VB.NET. I hope this book gives you the tools you need to begin to learn VB.NET. I invite your comments and ideas as I work to make Sams the publisher you look to as your .NET learning resource.
    [Show full text]
  • Installation Guide for the XM Scaled Topology a Guide to Installing the Sitecore XM Scaled Topology
    Installation Guide for the XM Scaled Topology A guide to installing the Sitecore XM scaled topology August 31, 2021 Sitecore Experience Platform 9.3.0 Installation Guide for the XM Scaled Topology Table of Contents 1. Choosing a topology .................................................................................................................. 4 1.1. On-premise topology options .............................................................................................. 5 2. Sitecore Installation Framework ................................................................................................. 7 2.1. Set up Sitecore Installation Framework ............................................................................... 7 2.1.1. Install the SIF Module using MyGet ............................................................................... 7 2.1.2. Validate the installation ................................................................................................ 8 2.1.3. Run multiple versions of SIF ......................................................................................... 8 2.1.4. Run a specific version of SIF .......................................................................................... 8 2.2. Install Sitecore Installation Framework manually ................................................................. 9 2.2.1. Unblock a .zip package ................................................................................................. 9 2.2.2. Extract the Sitecore Installation Framework
    [Show full text]
  • An Overview of Security in the .NET Framework
    An Overview of Security in the .NET Framework (also at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/netframesecover.asp, but may be dated) Dr. Demien Watkins, Project 42 Sebastian Lange, Microsoft Corporation January 2002 Summary: The fundamental features in the Microsoft .NET Framework security system are profiled, including the ability to confine code to run in tightly constrained, administrator-defined security contexts for a dynamic download and execution, and remote execution, model. Introduction Security is one of the most important issues to consider when moving from traditional program development, where administrators often install software to a fixed location on a local disk, to an environment that allows for dynamic downloads and execution and even remote execution. To support this model, the Microsoft .NET Framework provides a rich security system, capable of confining code to run in tightly constrained, administrator-defined security contexts. This paper examines some of the fundamental security features in the .NET Framework. Many security models attach security to users and their groups (or roles). This means that users, and all code run on behalf of these users, are either permitted or not permitted to perform operations on critical resources. This is how security is modeled in most operating systems. The .NET Framework provides a developer defined security model called role-based security that functions in a similar vein. Role Based Security’s principal abstractions are Principals and Identity. Additionally, the .NET Framework also provides security on code and this is referred to as code access security (also referred to as evidence-based security).
    [Show full text]
  • Smart Client Architecture and Design Guide
    Smart Client Architecture and Design Guide Foreword by Mark Boulter Smart Client Architecture and Design Guide patterns & practices David Hill, Microsoft Corporation Brenton Webster, Microsoft Corporation Edward A. Jezierski, Microsoft Corporation Srinath Vasireddy, Microsoft Corporation Mo Al-Sabt, Microsoft Corporation Blaine Wastell, Ascentium Corporation Jonathan Rasmusson, ThoughtWorks Paul Gale, ThoughtWorks Paul Slater, Wadeware LLC Information in this document, including URL and other Internet Web site references, is subject to change without notice. Unless otherwise noted, the example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious, and no association with any real company, organization, product, domain name, e-mail address, logo, person, place, or event is intended or should be inferred. Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or otherwise), or for any purpose, without the express written permission of Microsoft Corporation. Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. © 2004 Microsoft Corporation. All rights reserved. Microsoft, MS-DOS, Windows, Windows NT, Windows Server, Active Directory, BizTalk, InfoPath, MSDN, Outlook, Visual Basic, Visual C++, Visual C#, Visual Studio, and Win32 are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.
    [Show full text]
  • Method, 365, 376, 383 Activator.Createinstance()
    Index A CreditRisks tables, 854 DBTransaction, 853 Abstract stream members, 765 IDbTransaction interface, 853 Accelerate() method, 365, 376, 383 ProcessCreditRisk(), 855 Activator.CreateInstance() method, 607 Rollback(), 854 Active Data Objects (ADO). see ADO.NET save points, 854 Adaptive rendering, 1396 test, 857 Add() method, 362 data providers AddAsync() method, 1554–1555 application configuration files, 813 AddComplete() method, 705–706 benefit, 802 add_Exploded() method, 377 C# Console Application project, 812 Add() method, 698, 702, 1588 centric namespaces, 806 AddOne() method, 723 core objects, 802 AddPerson(), 401 DBMS, 803 AddWithThreads, 745 factory pattern (see Data provider ADO.NET factory model) AutoLot database creation IDbConnection parameter, 811 adding test records, 818 Microsoft, 804 Customers and Orders tables, 820 Microsoft SQL Server, 813 GetPetName() stored procedure, 819 System.Data.OracleClient.dll, 805 Inventory table creation, 815 third-party, 805 table relationships, in Visual Studio, 822 data readers connected layer of, 801 DbDataReader type, 835 AutoLotDataReader, 830 ExecuteReader(), 835 command objects, 834 multiple result sets, 836 connection objects, 830 Read() method, 835 ConnectionStringBuilder objects, 833 string/int, 835 data reader object, 829 DataSets, 800 Console UI–based front end DataTable, 403 AutoLotCUIClient, 846 disconnected layer, 802 <connectionStrings> element, 847 EF, 802 DeleteCar() method, 850 reusable data access library InsertNewCar() method, 850 AutoLotDAL, 838 ListInventory() method,
    [Show full text]
  • Kapitel 5 Assemblies Und Deployment
    kap5.fm Seite 669 Freitag, 8. März 2002 2:03 14 Kapitel 5 Assemblies und Deployment 5.1 Assemblies in .NET 670 5.2 Konfiguration von .NET Applikationen 698 5.3 Deployment – was ist das? 712 kap5.fm Seite 670 Freitag, 8. März 2002 2:03 14 670 Assemblies in .NET Nachdem die Grundlagen der komponentenorientierten Entwicklung in .NET erläutert worden sind, wird in diesem Kapitel ein genauerer Blick auf die interne Struktur der erzeugten Programme und Bibliotheken geworfen. Dabei wird eben- falls das Deployment behandelt, d.h. wie die geschriebenen .NET-Anwendungen und Komponenten verteilt und installiert werden können. Es wurde bereits erwähnt, dass .NET auch Lösungen für die Versionierungs- und DLL-Konflikte bereithält, die Programmierer, Administrator und Anwender zu gleichen Teilen betreffen. In vorhergehenden Kapiteln wurden die Probleme bereits diskutiert (siehe Kapitel 1 und 3). Hier folgt nun eine detaillierte Erläute- rung dessen, was Assemblies sind, wie sie aufgebaut sind und warum sie gerade so aussehen wie sie aussehen, und wozu sie verwendet werden. 5.1 Assemblies in .NET Egal, welche Projekt-Vorlage benutzt wird, ob nun z.B. ein benutzerdefiniertes Steuerelement, eine Web-Anwendung oder ein Windows-Dienst, beim Kompilie- ren erzeugt ein von der Entwicklungsumgebung aufgerufener und der verwendeten Sprache entsprechender Compiler ein Assembly. Prinzipiell besitzen alle Assemb- lies den gleichen Aufbau, sie unterscheiden sich nur (von der Implementierung einmal abgesehen) in der Dateiendung und dem Vorhandensein und Nicht-Vorhan- densein eines Einsprungpunkts. Assemblies machen das oft zitierte XCopy-Deployment möglich. Bei dieser Art der Verteilung von Applikationen reduziert sich die Installation eines .NET-Programms auf das einfache Kopieren der kompletten Anwendung inklusive aller Verzeichnisse, Unterverzeichnisse, referenzierten Assemblies und externen Ressourcen-Dateien.
    [Show full text]
  • Dot Net Interview Questions
    Dear Friends, Hi I am satish marwat, this documents contains all the important questions that usually asked during the .NET interview, I had downloaded all the material from the Internet from various websites and collected to form a single film, u will find few repeated questions also, all the material are from the various websites, so I had just bind it into a single file. So for any mistake I am not responsible, this is just for the view purpose. My view was only to collect a material to a single file. Please, if u find any mistake in this file, please contact me to my email address [email protected], so that I can able to correct it. ALL THE BEST Thanks Satish J Satish Marwat Dot Net Web Resources [email protected] 1 Page .NET FRAME WORK Introduction 1.1 What is .NET? .NET is a general-purpose software development platform, similar to Java. At its core is a virtual machine that turns intermediate language (IL) into machine code. High-level language compilers for C#, VB.NET and C++ are provided to turn source code into IL. C# is a new programming language, very similar to Java. An extensive class library is included, featuring all the functionality one might expect from a contempory development platform - windows GUI development (Windows Form s), database access (ADO.NET), web development (ASP.NET), web services, XML etc. 1.2 When was .NET announced? Bill Gates delivered a keynote at Forum 2000, held June 22, 2000, outlining the .NET 'vision'. The July 2000 PDC had a number of sessions on .NET technology, and delegates were given CDs containing a pre-release version of the .NET framework/SDK and Visual Studio.NET.
    [Show full text]
  • Shared Add in Extensibility Microsoft Net 2.0 Download
    Shared add in extensibility microsoft net 2.0 download When you use Microsoft Visual Studio to create add-ins, smart documents, or smart tags, you may experience the following symptoms: This problem occurs when you create the add-ins, the smart documents, or the smart tags on a computer that has the Framework Hi, I'm using "Shared Add-in Support Update for Framework KB" as pre-requesites to load some Office plug-ins. This task will uninstall the MSI: Shared Add-in Extensibility Update for Framework (KB). This task was automatically. I uninstalled both 'Shared Add-in Extensibility for ' and 'Shared Add-in Support Update for '. Installing my. NET Framework - FRA * Shared Add-in Extensibility Update for framework (KB) * Shared Add-in Support Update for Uninstall BIP desktop from control->Add or remove programs. 2. Shared Add-in Extensibility Update for Framework (KB) Shared. Learn, Share, Build NET Framework (KB) to the prerequisites list. For the setup bootstrapper being able to download and install the files However, as far as I know, Microsoft doesn't offer these files as an individual download, so you HomeSite="". Module (Shared Add-in Extensibility Update for Framework (KB) v) will be installed. >>> Setup Module Shared Add-In Extensibility Net Framework or later. NET MVC 1 and 2, adding great features that both simplify your code and allow deeper Extensible Scaffolding with MvcScaffold integration. Microsoft NET Framework 4 is Microsoft's comprehensive and consistent SHAREit - Transfer & Share . 7 multi-touch, ribbon controls, taskbar extensibility features, and Surface SDK slow clunky and every upgrade stuff your code and previous created software does not work.
    [Show full text]
  • Programming with Windows Forms
    A P P E N D I X A ■ ■ ■ Programming with Windows Forms Since the release of the .NET platform (circa 2001), the base class libraries have included a particular API named Windows Forms, represented primarily by the System.Windows.Forms.dll assembly. The Windows Forms toolkit provides the types necessary to build desktop graphical user interfaces (GUIs), create custom controls, manage resources (e.g., string tables and icons), and perform other desktop- centric programming tasks. In addition, a separate API named GDI+ (represented by the System.Drawing.dll assembly) provides additional types that allow programmers to generate 2D graphics, interact with networked printers, and manipulate image data. The Windows Forms (and GDI+) APIs remain alive and well within the .NET 4.0 platform, and they will exist within the base class library for quite some time (arguably forever). However, Microsoft has shipped a brand new GUI toolkit called Windows Presentation Foundation (WPF) since the release of .NET 3.0. As you saw in Chapters 27-31, WPF provides a massive amount of horsepower that you can use to build bleeding-edge user interfaces, and it has become the preferred desktop API for today’s .NET graphical user interfaces. The point of this appendix, however, is to provide a tour of the traditional Windows Forms API. One reason it is helpful to understand the original programming model: you can find many existing Windows Forms applications out there that will need to be maintained for some time to come. Also, many desktop GUIs simply might not require the horsepower offered by WPF.
    [Show full text]