Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead...

34
Overview of Overview of Visual Studio 2005 Visual Studio 2005 Tools for the Microsoft Tools for the Microsoft Office System Office System Svetlana Loksh Svetlana Loksh Development Lead Development Lead Visual Studio Tools for Office Visual Studio Tools for Office Team Team Microsoft Corporation Microsoft Corporation

Transcript of Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead...

Page 1: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Overview of Overview of Visual Studio 2005 Tools for Visual Studio 2005 Tools for the Microsoft Office Systemthe Microsoft Office System

Svetlana LokshSvetlana LokshDevelopment LeadDevelopment LeadVisual Studio Tools for Office TeamVisual Studio Tools for Office TeamMicrosoft CorporationMicrosoft Corporation

Page 2: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

AgendaAgenda

What is a Smart Client?What is a Smart Client?

Introducing Visual StudioIntroducing Visual Studio®® 2005 Tools for the Microsoft 2005 Tools for the Microsoft®® Office System (VSTO)Office System (VSTO)

Creating a VSTO projectCreating a VSTO project

Adding an Actions Pane to a VSTO projectAdding an Actions Pane to a VSTO project

Data Binding in VSTOData Binding in VSTO

Integrating Office XML Using VSTOIntegrating Office XML Using VSTO

InfoPath 2003 Toolkit for Visual Studio 2005InfoPath 2003 Toolkit for Visual Studio 2005

Outlook Add-insOutlook Add-ins

Deployment and SecurityDeployment and Security

End-to-End Solution DemoEnd-to-End Solution Demo

SummarySummary

Page 3: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Web Services &Web Services &Offline/OnlineOffline/Online

support support

DeviceDeviceAdaptabilityAdaptability

Tough toTough toDeployDeploy

HeavyHeavyFootprintFootprint

DLL HellDLL Hell

NetworkNetworkDependencyDependency

Poor UserPoor UserExperienceExperience

Rich UIRich UIComplexComplex

To DevelopTo Develop

Rich UserRich UserExperienceExperience

DeveloperDeveloperProductivityProductivity

ResponsiveResponsive

BroadBroadReachReach

Easy ChangeEasy ChangeManagementManagement

Ease ofEase ofDeploymentDeployment

Page 4: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Characteristics of Smart ClientsCharacteristics of Smart Clients

Leverages Local ResourcesLeverages Local ResourcesTakes full advantage of the local software (e.g. Office) and Takes full advantage of the local software (e.g. Office) and hardware (e.g. disk, memory, CPU, etc).hardware (e.g. disk, memory, CPU, etc).

ConnectedConnectedProvides connectivity to the enterprise, enabling timely Provides connectivity to the enterprise, enabling timely access to live data and participation in business and access to live data and participation in business and collaborative processescollaborative processes

Offline CapableOffline CapableProvides useful functionality when offline or in low quality Provides useful functionality when offline or in low quality connectivity situationsconnectivity situations

ContinuedContinued……

Page 5: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Characteristics of Smart ClientsCharacteristics of Smart Clients

Intelligent Deployment And UpdateIntelligent Deployment And UpdateProvides easy application managementProvides easy application management

SecuritySecurityProvides high level of security with managed code Provides high level of security with managed code approachapproach

Device FlexibilityDevice FlexibilityApplications can be tuned or tailored to a specific client Applications can be tuned or tailored to a specific client device, making appropriate use of the screen real estate, device, making appropriate use of the screen real estate, user interface facilities and local hardware (e.g. pen, user interface facilities and local hardware (e.g. pen, speech, etc)speech, etc)

Not all of these characteristics need to be present, but the more complete and advanced, the higher the “Smart Client IQ”

Page 6: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Microsoft’s strategic tool for developing Microsoft’s strategic tool for developing Office solutions in Office solutions in

Microsoft Excel 2003*Microsoft Excel 2003*Microsoft Word 2003*Microsoft Word 2003*Microsoft InfoPath 2003Microsoft InfoPath 2003Microsoft Outlook 2003 (Add-in Support)Microsoft Outlook 2003 (Add-in Support)

Targeted at the professional developerTargeted at the professional developerIt provides all the productivity of Visual Studio It provides all the productivity of Visual Studio and all the power of the .NET Frameworkand all the power of the .NET FrameworkDevelop solutions in VB .NET and Visual C#Develop solutions in VB .NET and Visual C#

* Microsoft Office System Professional Edition * Microsoft Office System Professional Edition or Excel 2003 or Word 2003 standalone versionsor Excel 2003 or Word 2003 standalone versions

Page 7: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Major Focus on Developer ProductivityMajor Focus on Developer Productivity

Integrated design-time experienceIntegrated design-time experienceFull access to the .NET Framework, Web Full access to the .NET Framework, Web services, ADO .NET, integrated debuggingservices, ADO .NET, integrated debuggingSupport for managed controls – from both Support for managed controls – from both Microsoft and third-party vendorsMicrosoft and third-party vendorsSupport for VSTO “Host” controlsSupport for VSTO “Host” controlsSupport for managed Document Actions Support for managed Document Actions Pane & Smart TagsPane & Smart TagsSchema-based programming modelSchema-based programming modelCLR-based security model CLR-based security model New data caching capabilitiesNew data caching capabilities

Page 8: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Controls, Controls, ControlsControls, Controls, Controls

VSTO enables developers to use WinForm managed VSTO enables developers to use WinForm managed controls within their VSTO solutionscontrols within their VSTO solutions

All controls on the toolbox are available for useAll controls on the toolbox are available for use

They can be added directly to the document, to a They can be added directly to the document, to a WinForm, or the VSTO actions paneWinForm, or the VSTO actions pane

VSTO provides new “host” controls, which are .NET VSTO provides new “host” controls, which are .NET extensions to native Excel and Word objectsextensions to native Excel and Word objects

Richer event modelsRicher event models

Data binding capabilitiesData binding capabilities

Developers can add controls explicitly at design Developers can add controls explicitly at design time or dynamically at run time time or dynamically at run time

Page 9: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Creating a VSTO ProjectCreating a VSTO Project

Page 10: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Managed Document Actions PaneManaged Document Actions Pane

VSTO enables developers to utilize the Office Task VSTO enables developers to utilize the Office Task Pane via a managed Document Actions PanePane via a managed Document Actions Pane

It’s simply a user control that will appear within It’s simply a user control that will appear within the Office Task Panethe Office Task Pane

Developers create the UI for the Document Actions Developers create the UI for the Document Actions Pane in the Windows Forms DesignerPane in the Windows Forms Designer

They can then add the Actions Pane to the They can then add the Actions Pane to the document with a single line of code!document with a single line of code!

Dim MyAP As New ActionsPaneControl1Dim MyAP As New ActionsPaneControl1

Globals.ThisWorkbook.ActionsPane.Controls.Globals.ThisWorkbook.ActionsPane.Controls.Add(Add(MMyyAPAP))

Page 11: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Adding an Actions PaneAdding an Actions Paneto a VSTO Projectto a VSTO Project

Page 12: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Data Binding in VSTOData Binding in VSTO

Developers can bind data from a given data Developers can bind data from a given data source to managed controls and host controlssource to managed controls and host controls

The Data Sources Window enables developers to The Data Sources Window enables developers to create a connection to database, Web service, or create a connection to database, Web service, or business object business object

Developers do not have to write the code that Developers do not have to write the code that binds the data to the control – it’s all generated binds the data to the control – it’s all generated automaticallyautomatically

Developers can bind to a single item (simple Developers can bind to a single item (simple data binding) or to a complete table or stored data binding) or to a complete table or stored procedure (complex data binding)procedure (complex data binding)

Page 13: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Data Binding ControlsData Binding Controlsin a VSTO Projectin a VSTO Project

Page 14: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Integrating Office XML Integrating Office XML With Enterprise Data Using VSTOWith Enterprise Data Using VSTO

VSTO provides a schema-based VSTO provides a schema-based programming model for documents that have programming model for documents that have a custom XML schemaa custom XML schema

Not always necessary to explicitly manipulate Not always necessary to explicitly manipulate XML XML No need to navigate the Office OM node No need to navigate the Office OM node hierarchy hierarchy

VSTO is a first-class consumer of Web VSTO is a first-class consumer of Web servicesservices

Complete access to .NET Framework support Complete access to .NET Framework support for consuming Web servicesfor consuming Web services

VSTO solutions can manipulate XML via VSTO solutions can manipulate XML via System.XmlSystem.Xml

Page 15: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Programming AgainstProgramming AgainstAn XML NodeAn XML Node

Page 16: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

XMLHTTPSOAPWSDLUDDI

BizTalk SQL

ERP SAP

XML

InfoPath 2003 Toolkit forInfoPath 2003 Toolkit forVisual Studio 2005Visual Studio 2005

Provides a more flexible and Provides a more flexible and accurate means of gathering accurate means of gathering informationinformation

Provides and easy and more Provides and easy and more effective way to connect people, effective way to connect people, info and processesinfo and processes

Provides developers with an Provides developers with an easier way to develop and easier way to develop and deploy information-gathering deploy information-gathering solutions solutions

Page 17: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

InfoPath Business LogicInfoPath Business Logic

C#C#VB.NETVB.NET

Most Forms Do Not

Need Code

XML Schema

RulesFormulas

Data ValidationData Connections

Conditional Formatting

Page 18: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Scenarios for CodeScenarios for Code

Complex data validationComplex data validation

Offline submit and data cachingOffline submit and data caching

Dynamic help in the task paneDynamic help in the task pane

Custom Digital Signature handlingCustom Digital Signature handling

Encryption/decryptionEncryption/decryption

Page 19: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Writing Managed CodeWriting Managed CodeBehind InfoPathBehind InfoPath

Page 20: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Outlook Add-insOutlook Add-ins

The VSTO runtime supports Outlook add-insThe VSTO runtime supports Outlook add-insProvides VSTO runtime loaderProvides VSTO runtime loader

More reliable add-in/host interactionMore reliable add-in/host interaction Improved security and deployment model Improved security and deployment model

Design-time support in Visual StudioDesign-time support in Visual Studio

Outlook add-ins Project templateOutlook add-ins Project template

Visual Studio Setup project for Outlook add-insVisual Studio Setup project for Outlook add-ins

Improved debugging experience Improved debugging experience

Page 21: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Scenarios for CodeScenarios for Code

Line of Business ApplicationsLine of Business ApplicationsIntegration of Outlook Data into back end systemsIntegration of Outlook Data into back end systems

Calendar Integration SolutionsCalendar Integration SolutionsTime trackingTime tracking

Collaboration SolutionsCollaboration SolutionsRSS Aggregators, Integrated Sharepoint solutionsRSS Aggregators, Integrated Sharepoint solutions

Outlook Extension SolutionsOutlook Extension SolutionsSearch tools, personal organizational tools (thread Search tools, personal organizational tools (thread compressor, attachment management)compressor, attachment management)

Personal Productivity SolutionsPersonal Productivity Solutions

Conf room finder, travel booking tools, customer Conf room finder, travel booking tools, customer survey tools survey tools

Page 22: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Writing Managed CodeWriting Managed CodeBehind OutlookBehind Outlook

Page 23: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Deployment & SecurityDeployment & Security

Page 24: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

VSTO Deployment BasicsVSTO Deployment Basics

Document and code (assembly) are separateDocument and code (assembly) are separate

VSTO has a manifest-based deployment modelVSTO has a manifest-based deployment model

Application ManifestApplication ManifestEmbedded in the document and describes the Embedded in the document and describes the solution (startup assembly, dependencies, solution (startup assembly, dependencies, deployment manifest)deployment manifest)

Deployment ManifestDeployment ManifestPoints to the Application Manifest and handles Points to the Application Manifest and handles Application Manifest version resolutionApplication Manifest version resolution

Solution can intelligently updateSolution can intelligently update

ContinuedContinued……

Page 25: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

VSTO Deployment BasicsVSTO Deployment Basics

Three basic deployment modelsThree basic deployment models

Local/Local – both document and assembly Local/Local – both document and assembly reside on local machinereside on local machine

Local/Network – document resides on local Local/Network – document resides on local machine, assembly resides on networkmachine, assembly resides on network

Network/Network – both document and assembly Network/Network – both document and assembly reside on the networkreside on the network

This is especially useful for Template projectsThis is especially useful for Template projects

Note:Note: InfoPath deployment is slightly different InfoPath deployment is slightly differentAssemblies and manifest reside in an XSNAssemblies and manifest reside in an XSN

XML files point to XSNXML files point to XSN

Page 26: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

VSTO Client RequirementsVSTO Client Requirements

Office 2003 Professional Edition SP1Office 2003 Professional Edition SP1

Or Excel/Word/Outlook standalone editionsOr Excel/Word/Outlook standalone editions

.NET Framework 2.0.NET Framework 2.0

VSTO 2005 RuntimeVSTO 2005 Runtime

Office Primary Interop Assemblies (PIAs)Office Primary Interop Assemblies (PIAs)

Appropriate security policiesAppropriate security policies

Page 27: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Security ModelSecurity Model

VSTO uses .NET Code Access Security VSTO uses .NET Code Access Security

EvidenceEvidence

Location based for documentsLocation based for documents

Any type of evidence for the assembliesAny type of evidence for the assemblies

PermissionsPermissions

Document location and code must be fully trusted Document location and code must be fully trusted

LevelsLevels

Enterprise, Machine, User, ApplicationEnterprise, Machine, User, Application

A given permission is granted only if A given permission is granted only if allall policy levels agree policy levels agree to grant itto grant it

Default CLR Security policy is not enoughDefault CLR Security policy is not enough

ContinuedContinued……

Page 28: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Security ModelSecurity Model

Note:Note: InfoPath security is slightly different InfoPath security is slightly different

InfoPath assemblies support partial trust for InfoPath assemblies support partial trust for Domain XSNsDomain XSNs

Doesn’t need to use .NET Code Access Security Doesn’t need to use .NET Code Access Security because assemblies can be fully trusted whenbecause assemblies can be fully trusted when

they are signedthey are signed

the XSN is installedthe XSN is installed

Page 29: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

End-to-EndEnd-to-EndVSTO SolutionVSTO Solution

Page 30: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Session SummarySession Summary

VSTO is a strategic Microsoft tool for developing VSTO is a strategic Microsoft tool for developing document-centric Office solutions and Outlook document-centric Office solutions and Outlook Add-insAdd-ins

Enables development of document-centric Enables development of document-centric solutions with managed code in Excel, InfoPath solutions with managed code in Excel, InfoPath and Wordand Word

Enables development of managed add-ins in Enables development of managed add-ins in OutlookOutlook

VSTO 2005’s new features provide advantages VSTO 2005’s new features provide advantages and benefits for both developers and and benefits for both developers and information workers information workers

Page 31: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Next StepsNext Steps

Participate in our newsgroups and web forumParticipate in our newsgroups and web forummicrosoft.public.vsnet.vstools.officemicrosoft.public.vsnet.vstools.office

microsoft.public.officedevmicrosoft.public.officedev

microsoft.public.office.developermicrosoft.public.office.developer

http://forums.microsoft.com/msdn/ShowForum.aspx?http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=16ForumID=16

Participate in VSTO-related blogsParticipate in VSTO-related blogsTeam blog: Team blog: http://blogs.msdn.com/vsto2http://blogs.msdn.com/vsto2

VSTO MVP Chris Kunicki’s blog: VSTO MVP Chris Kunicki’s blog: http://www.officezealot.com/VSTO/http://www.officezealot.com/VSTO/

Attend a free chat or webcastAttend a free chat or webcasthttp://www.microsoft.com/communities/default.mspxhttp://www.microsoft.com/communities/default.mspx

Page 32: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

For More InformationFor More Information

Visit the VSTO sections of these MSDNVisit the VSTO sections of these MSDN®® Developer CentersDeveloper Centers

Office Developer CenterOffice Developer Center http://msdn.microsoft.com/office/understanding/http://msdn.microsoft.com/office/understanding/vsto/default.aspxvsto/default.aspx

Smart Client Developer CenterSmart Client Developer Center http://msdn.microsoft.com/smartclient/understanhttp://msdn.microsoft.com/smartclient/understanding/vsto/default.aspxding/vsto/default.aspx

VSTO Help documentation on MSDNVSTO Help documentation on MSDN

http://msdn2.microsoft.com/library/d2tx7z6d(en-http://msdn2.microsoft.com/library/d2tx7z6d(en-us,vs.80).aspxus,vs.80).aspx

Page 33: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

Questions?Questions?

[email protected]@microsoft.com

[email protected]@microsoft.com

Page 34: Overview of Visual Studio 2005 Tools for the Microsoft Office System Svetlana Loksh Development Lead Visual Studio Tools for Office Team Microsoft Corporation.

© 2005 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.