SlideShare a Scribd company logo
1 of 19
Microsoft Office Plugin(s)
By-Rahul Gupta
Mindfire Solutions, Noida

Mindfire Solutions

Confidential
About me
Working with Mindfire Solutions,Noida since November 2013

Certifications:
MCP:70-480 - Specialist certification in HTML5 with JavaScript and CSS3 Exam
MCTS-70-515 - Microsoft .NET 4.0, Web App Development
Skills:
C#,TFS,JavaScript,Oracle 11g,SQL Server,WebServices

Connect me:
Twitter: https://twitter.com/rg8051
Linkedin:http://www.linkedin.com/pub/rahul-gupta/25/288/849
Email:
Rahul.gupta@mindfiresolutions.com
rg8051@gmail.com
Skype ID:
Mfsi_rahul.gupta

Mindfire Solutions

Confidential
Contents


What is Plugin



Why to develop/create Plugin



Accessing the Object Model of the Host Application



Getting started with the Plugins



Customizing the ribbon and action method



Prerequisites Check before Deploying the Plugin



Publishing and deploying the Plugin



Installing the Plugin



FAQs

Mindfire Solutions

Confidential
What is Plug-in
•

In Computing, a plug-in (or plugin, extension, or add-on / addin) is a software component that adds a specific feature to an
existing software application. When an application supports plug-ins,it enables customization.

•

It is developed using Microsoft Visual Studio and .NET Framework. Add-in(s) are version specific hence we need to
carefully select the version during development phase.

•

Microsoft has a very elegant COM architecture for all its application exposing API's for third party developers to extend.

•

Visual Studio has several types of project templates that support different business scenarios for Microsoft Office
Applications, Some of them are:
Document Level Customizations
Application –Level Add-ins

For details on Office Application and Project type, Please refer
http://msdn.microsoft.com/en-us/library/aa942839.aspx
It details out All Microsoft Office Applications along with its corresponding Project types and associated features like Custom
XML Parts,ClickOnce Deployment etc.

Mindfire Solutions

Confidential
Why to develop/create Plugin
•

Enhance Productivity and usability of the MS Office Suite.

•

Ease the life of end user and easy installable.

•

The Application can be dynamically extended to include new features.

Plugin based architecture supports Parallel development hence many developer can simultaneously implement different
components.
•

Overall reduce the complexity of the application.
Plug-in(s) are of different types:
1)Built-in add-ins
2)Downloadable add-ins
3)Custom Add ins

Mindfire Solutions

Confidential
Accessing the Object Model of the Host Application
Host Application

Return Value Type

•

Microsoft Office Excel

Microsoft.Office.Interop.Excel.Application

•

Microsoft Office InfoPath

Microsoft.Office.Interop.InfoPath.Application

•

Microsoft Office Outlook

Microsoft.Office.Interop.Outlook.Application

•

Microsoft Office PowerPoint

Microsoft.Office.Interop.PowerPoint.Application

•

Microsoft Office Project

Microsoft.Office.Interop.MSProject.Application

•

Microsoft Office Visio

Microsoft.Office.Interop.Visio.Application

•

Microsoft Office Word

Microsoft.Office.Interop.Word.Application

Mindfire Solutions

Confidential
Creating a Custom Microsoft Office Plugin
•
•

Before begin with the development cross check that compatible MS Office version is present/installed on system.
Select the PowerPoint Add-in template under the Office Tab as shown in figure.

Mindfire Solutions

Confidential
Creating a Custom Microsoft Office Plugin(Continued)
•

Add the Customized Ribbon File and this in turn will add the Ribbon.cs file as well in the Solution as shown below in figure.

Mindfire Solutions

Confidential
Customizing the ribbon
•

Add the code in Ribbon.xml file to customize the Office Tab and bind the tab with the Ribbon file to get associated with the
ThisAddin Class file which in turn load this Addin when MSOffice Loads by parsing the FontExtractionRibbon.xml file.

Mindfire Solutions

Confidential
Defining the Action method
•

Implement an action method in Ribbon.cs file in the Helper region as specified in Ribbon.xml file and include the Office
Core Library in the references as shown below.

Implement the Plugin Functionality in this region

Mindfire Solutions

Confidential
Binding the Ribbon File with the Addin(s)
•

Once the method is implemented in Ribbon file. Bind the ribbon file with the Addin Class to Populate the MS Office
Application’s Ribbon with this add in(s) by overriding the Ribbon Extensibility Object. This is very important step as
skipping this may lead to incorrect/improper functioning of Addin(s).

Mindfire Solutions

Confidential
Publishing and Deploying the Plugin

Before Deploying the Plugin make sure that following requirements are met on the target machine otherwise It may lead
to incorrect/improper functioning of the Plugin.
Required Prerequisite Components on the Target Computer

.NET Framework needs to be present on the system

It can be installed on the same type of machine format(say 64 bit)on which it was originally developed.

Microsoft Visual Studio Tools for office runtime as it provides a runtime environment that manages add-ins.

The Primary Interop assemblies for the required version of Microsoft Office.

Any Project Specific Assemblies(dll) referenced by the projects that target the .NET Framework on which plugin
is developed

Exactly same version of Hosting application(MS Office) needs to be present on the system

User must have administrative privilege to install/run the plugin.
Note-Once the plugin is installed it will loaded in Hosted Application (MS office )by default every time the Application
launches hence we need to either remove or disable the addin if required from MS Office .

Mindfire Solutions

Confidential
Publishing and Deploying the Plugin(Continued..)
•
•
•

Once all the Required Prerequisite are met. The Developed plugin can be published and deployed on the target machine.
Right Click the Project and Publish it.Enter the Publish location and Installation path as shown in fig and click next.
The Publish Location can be any of the below:
publish to a Web site or network share and have the users install from there
publish to a staging Web site and then copy the files to another Web site for installation.
publish to a network share to test installations and then have users install from a Web site or build CDs for
installation.

Mindfire Solutions

Confidential
Publishing and Deploying the Plugin(Continued..)
•

Specify the Installation path in the wizard. It will be same as Publish path (if not provided).Select a corresponding option
from the wizard and click o next and then finally say finish.

Mindfire Solutions

Confidential
Publishing and Deploying the Plugin(Continued..)
•
•

Once the publish is successful. Navigate to the published path specified in the publish wizard. There will be following files as
shown below
The VSTO file is a copy of the deployment manifest file.

Mindfire Solutions

Confidential
Publishing and Deploying the Plugin(Continued..)
Click on Application files and navigate through it.It contains the following files




Customization Assembly(has .Deploy file name extension)
Application Manifest file, an XML file which provides the runtime with the information it needs to load and update
customization assemblies
Copy of Deployment manifest.

Mindfire Solutions

Confidential
Installing the Plugin(s)
Once published, the Plugins is now ready to be installed. Close all the MS office Instances (if open any).
Double Click on VSTO File provided and click on install. The Plugin will be installed. Restart the MS Office to start working with
it.

Mindfire Solutions

Confidential
FAQs
Q-I cannot install the plugin in my system using VSTO File. It says WIN32 exception
A-Please make sure that system type on which plugin is developed and machine on which plugin installed are same. Please Contact
plugin administrator to get the details. In case of mismatch upgrade your system type during windows installation.

Q-I can not load the plugin in my development machine. It says the PowerPoint has encountered a serious problem. How to
debug/locate the problem?
A-Please note during development if any exception occurs them Microsoft office disable that addin so that it does not load again
when MS Office restarts. You may go to option in PowerPoint and click on managed Addins to enable the addins.

Q-I cannot install plugin on the other machine,eventhough I have provided the correct VSTO and manifest file, it is working fine
on development machine.
A-Make sure that correct version of hosting environment(MS office in this case)is installed on the target machine also cross check
that you have provided the required DLL(s)(if any) and Customization Assembly as well. Refer Slide number 11 and 15 for more
details.
For Developers References:
http://msdn.microsoft.com/en-us/library/office/bb960904(v=office.12).aspx
http://msdn.microsoft.com/en-us/library/bb821233.aspx
http://stackoverflow.com/questions/14668672/getting-started-developing-add-in-for-powerpoint
http://msdn.microsoft.com/en-us/library/bb386298.aspx

Mindfire Solutions

Confidential
Thanks for your time

Any Questions?

Mindfire Solutions

Confidential

More Related Content

What's hot

Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Ben Schmidtke III
 
A Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version ControlA Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version ControlSteve Lange
 
Automated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & SeleniumAutomated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & Seleniummayurairon
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingSarah Elson
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Jen Wong
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...Anna Russo
 
Visual studio professional 2015 overview
Visual studio professional 2015 overviewVisual studio professional 2015 overview
Visual studio professional 2015 overviewLee Stott
 
Continous integration
Continous integrationContinous integration
Continous integrationJeremy Wilken
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingAnna Russo
 
Overview of Visual Studio Team System 2010
Overview of Visual Studio Team System 2010Overview of Visual Studio Team System 2010
Overview of Visual Studio Team System 2010joycsc
 
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.Siterise for OpenText Web Experience Management, Portal, and Tempo Social.
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.Gregory Guttmann
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stackBijoy Viswanadhan
 
continous integration and delivery
continous integration and deliverycontinous integration and delivery
continous integration and deliverySamarjeet Saurabh
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing FrameworksMoataz Nabil
 
Introduction to testlink
Introduction to testlinkIntroduction to testlink
Introduction to testlinkSumara Khan
 
Branching and Merging Practices
Branching and Merging Practices Branching and Merging Practices
Branching and Merging Practices Rajesh Kumar
 
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing ToolsHDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing ToolsJeff Bramwell
 

What's hot (20)

Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5Using FlexUnit 4 with Flash CS5
Using FlexUnit 4 with Flash CS5
 
A Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version ControlA Deeper Look at Team Foundation Server 2012 Version Control
A Deeper Look at Team Foundation Server 2012 Version Control
 
Automated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & SeleniumAutomated cceptance testing using Fitnesse & Selenium
Automated cceptance testing using Fitnesse & Selenium
 
Using galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testingUsing galen framework for automated cross browser layout testing
Using galen framework for automated cross browser layout testing
 
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
Continuous Integration using Hudson and Fitnesse at Ingenuity Systems (Silico...
 
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
STARWEST 2011 - 7 Steps To Improving Software Quality using Microsoft Test Ma...
 
Visual studio professional 2015 overview
Visual studio professional 2015 overviewVisual studio professional 2015 overview
Visual studio professional 2015 overview
 
Continous integration
Continous integrationContinous integration
Continous integration
 
Improving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester TrainingImproving Software Quality- 2-day Tester Training
Improving Software Quality- 2-day Tester Training
 
Overview of Visual Studio Team System 2010
Overview of Visual Studio Team System 2010Overview of Visual Studio Team System 2010
Overview of Visual Studio Team System 2010
 
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.Siterise for OpenText Web Experience Management, Portal, and Tempo Social.
Siterise for OpenText Web Experience Management, Portal, and Tempo Social.
 
Test link
Test linkTest link
Test link
 
Automated testing web application
Automated testing web applicationAutomated testing web application
Automated testing web application
 
Integrated Proposal (Vsts Sps Tfs) - MS stack
Integrated Proposal   (Vsts Sps Tfs) - MS stackIntegrated Proposal   (Vsts Sps Tfs) - MS stack
Integrated Proposal (Vsts Sps Tfs) - MS stack
 
continous integration and delivery
continous integration and deliverycontinous integration and delivery
continous integration and delivery
 
Testing Frameworks
Testing FrameworksTesting Frameworks
Testing Frameworks
 
Introduction to testlink
Introduction to testlinkIntroduction to testlink
Introduction to testlink
 
Branching and Merging Practices
Branching and Merging Practices Branching and Merging Practices
Branching and Merging Practices
 
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing ToolsHDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
HDC 2010 - Creating Quality Software: A Look at Visual Studio 2010 Testing Tools
 
FitNesse, An Introduction
FitNesse, An IntroductionFitNesse, An Introduction
FitNesse, An Introduction
 

Similar to Develop MS Office Plugins

Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Microsoft 365 Developer
 
Web application development process
Web application development processWeb application development process
Web application development processJohn Smith
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019Thomas Daly
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerGeorge Kanellopoulos
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And InterviewsRahul Jain
 
XP to Windows 7 with MDT
XP to Windows 7 with MDTXP to Windows 7 with MDT
XP to Windows 7 with MDTStephen Rose
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1Knut Relbe-Moe [MVP, MCT]
 
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft CloudFloating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft CloudSafe Software
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comULLPTT
 
Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)salsalamah
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsDavid Schneider
 
Current Events Crisis Analysis Essay This paper should be writte.docx
Current Events Crisis Analysis Essay This paper should be writte.docxCurrent Events Crisis Analysis Essay This paper should be writte.docx
Current Events Crisis Analysis Essay This paper should be writte.docxdorishigh
 
Building apps using azure for microsoft teams
Building apps using azure for microsoft teamsBuilding apps using azure for microsoft teams
Building apps using azure for microsoft teamsJenkins NS
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Microsoft 365 Developer
 
Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2Safe Software
 

Similar to Develop MS Office Plugins (20)

Office Add-ins community call-March 2019
Office Add-ins community call-March 2019Office Add-ins community call-March 2019
Office Add-ins community call-March 2019
 
Installation of Silk Test Framework
Installation of Silk Test FrameworkInstallation of Silk Test Framework
Installation of Silk Test Framework
 
Installing iPython.docx
Installing iPython.docxInstalling iPython.docx
Installing iPython.docx
 
Web application development process
Web application development processWeb application development process
Web application development process
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
M365 global developer bootcamp 2019
M365 global developer bootcamp 2019M365 global developer bootcamp 2019
M365 global developer bootcamp 2019
 
Microsoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform InstallerMicrosoft WebsiteSpark & Windows Platform Installer
Microsoft WebsiteSpark & Windows Platform Installer
 
important DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviewsimportant DotNet Questions For Practicals And Interviews
important DotNet Questions For Practicals And Interviews
 
Capstone- Milestone 3
Capstone- Milestone 3Capstone- Milestone 3
Capstone- Milestone 3
 
XP to Windows 7 with MDT
XP to Windows 7 with MDTXP to Windows 7 with MDT
XP to Windows 7 with MDT
 
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
SPS Dubai Best Practice upgrading SharePoint from 2007/2010 to 2013 and 2013 SP1
 
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft CloudFloating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
Floating on a (Microsoft) Cloud: Data Integration with Microsoft Cloud
 
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.comPos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
Pos 409 pos409 pos 409 forecasting and strategic planning -uopstudy.com
 
Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)Cardiff University FTS presentation 2011 (MS Word plug in)
Cardiff University FTS presentation 2011 (MS Word plug in)
 
Office 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft TeamsOffice 365 Developer Bootcamp: Microsoft Teams
Office 365 Developer Bootcamp: Microsoft Teams
 
Current Events Crisis Analysis Essay This paper should be writte.docx
Current Events Crisis Analysis Essay This paper should be writte.docxCurrent Events Crisis Analysis Essay This paper should be writte.docx
Current Events Crisis Analysis Essay This paper should be writte.docx
 
Building apps using azure for microsoft teams
Building apps using azure for microsoft teamsBuilding apps using azure for microsoft teams
Building apps using azure for microsoft teams
 
Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019Office Add-ins developer community call-July 2019
Office Add-ins developer community call-July 2019
 
Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2Kickstart Your Next No-Code Web App with FME 2022.2
Kickstart Your Next No-Code Web App with FME 2022.2
 
MSI Packaging Free eBook
MSI Packaging Free eBookMSI Packaging Free eBook
MSI Packaging Free eBook
 

More from Mindfire Solutions (20)

Physician Search and Review
Physician Search and ReviewPhysician Search and Review
Physician Search and Review
 
diet management app
diet management appdiet management app
diet management app
 
Business Technology Solution
Business Technology SolutionBusiness Technology Solution
Business Technology Solution
 
Remote Health Monitoring
Remote Health MonitoringRemote Health Monitoring
Remote Health Monitoring
 
Influencer Marketing Solution
Influencer Marketing SolutionInfluencer Marketing Solution
Influencer Marketing Solution
 
ELMAH
ELMAHELMAH
ELMAH
 
High Availability of Azure Applications
High Availability of Azure ApplicationsHigh Availability of Azure Applications
High Availability of Azure Applications
 
IOT Hands On
IOT Hands OnIOT Hands On
IOT Hands On
 
Glimpse of Loops Vs Set
Glimpse of Loops Vs SetGlimpse of Loops Vs Set
Glimpse of Loops Vs Set
 
Oracle Sql Developer-Getting Started
Oracle Sql Developer-Getting StartedOracle Sql Developer-Getting Started
Oracle Sql Developer-Getting Started
 
Adaptive Layout In iOS 8
Adaptive Layout In iOS 8Adaptive Layout In iOS 8
Adaptive Layout In iOS 8
 
Introduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/MacIntroduction to Auto-layout : iOS/Mac
Introduction to Auto-layout : iOS/Mac
 
LINQPad - utility Tool
LINQPad - utility ToolLINQPad - utility Tool
LINQPad - utility Tool
 
Get started with watch kit development
Get started with watch kit developmentGet started with watch kit development
Get started with watch kit development
 
Swift vs Objective-C
Swift vs Objective-CSwift vs Objective-C
Swift vs Objective-C
 
Material Design in Android
Material Design in AndroidMaterial Design in Android
Material Design in Android
 
Introduction to OData
Introduction to ODataIntroduction to OData
Introduction to OData
 
Ext js Part 2- MVC
Ext js Part 2- MVCExt js Part 2- MVC
Ext js Part 2- MVC
 
ExtJs Basic Part-1
ExtJs Basic Part-1ExtJs Basic Part-1
ExtJs Basic Part-1
 
Spring Security Introduction
Spring Security IntroductionSpring Security Introduction
Spring Security Introduction
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 

Develop MS Office Plugins

  • 1. Microsoft Office Plugin(s) By-Rahul Gupta Mindfire Solutions, Noida Mindfire Solutions Confidential
  • 2. About me Working with Mindfire Solutions,Noida since November 2013 Certifications: MCP:70-480 - Specialist certification in HTML5 with JavaScript and CSS3 Exam MCTS-70-515 - Microsoft .NET 4.0, Web App Development Skills: C#,TFS,JavaScript,Oracle 11g,SQL Server,WebServices Connect me: Twitter: https://twitter.com/rg8051 Linkedin:http://www.linkedin.com/pub/rahul-gupta/25/288/849 Email: Rahul.gupta@mindfiresolutions.com rg8051@gmail.com Skype ID: Mfsi_rahul.gupta Mindfire Solutions Confidential
  • 3. Contents  What is Plugin  Why to develop/create Plugin  Accessing the Object Model of the Host Application  Getting started with the Plugins  Customizing the ribbon and action method  Prerequisites Check before Deploying the Plugin  Publishing and deploying the Plugin  Installing the Plugin  FAQs Mindfire Solutions Confidential
  • 4. What is Plug-in • In Computing, a plug-in (or plugin, extension, or add-on / addin) is a software component that adds a specific feature to an existing software application. When an application supports plug-ins,it enables customization. • It is developed using Microsoft Visual Studio and .NET Framework. Add-in(s) are version specific hence we need to carefully select the version during development phase. • Microsoft has a very elegant COM architecture for all its application exposing API's for third party developers to extend. • Visual Studio has several types of project templates that support different business scenarios for Microsoft Office Applications, Some of them are: Document Level Customizations Application –Level Add-ins For details on Office Application and Project type, Please refer http://msdn.microsoft.com/en-us/library/aa942839.aspx It details out All Microsoft Office Applications along with its corresponding Project types and associated features like Custom XML Parts,ClickOnce Deployment etc. Mindfire Solutions Confidential
  • 5. Why to develop/create Plugin • Enhance Productivity and usability of the MS Office Suite. • Ease the life of end user and easy installable. • The Application can be dynamically extended to include new features. Plugin based architecture supports Parallel development hence many developer can simultaneously implement different components. • Overall reduce the complexity of the application. Plug-in(s) are of different types: 1)Built-in add-ins 2)Downloadable add-ins 3)Custom Add ins Mindfire Solutions Confidential
  • 6. Accessing the Object Model of the Host Application Host Application Return Value Type • Microsoft Office Excel Microsoft.Office.Interop.Excel.Application • Microsoft Office InfoPath Microsoft.Office.Interop.InfoPath.Application • Microsoft Office Outlook Microsoft.Office.Interop.Outlook.Application • Microsoft Office PowerPoint Microsoft.Office.Interop.PowerPoint.Application • Microsoft Office Project Microsoft.Office.Interop.MSProject.Application • Microsoft Office Visio Microsoft.Office.Interop.Visio.Application • Microsoft Office Word Microsoft.Office.Interop.Word.Application Mindfire Solutions Confidential
  • 7. Creating a Custom Microsoft Office Plugin • • Before begin with the development cross check that compatible MS Office version is present/installed on system. Select the PowerPoint Add-in template under the Office Tab as shown in figure. Mindfire Solutions Confidential
  • 8. Creating a Custom Microsoft Office Plugin(Continued) • Add the Customized Ribbon File and this in turn will add the Ribbon.cs file as well in the Solution as shown below in figure. Mindfire Solutions Confidential
  • 9. Customizing the ribbon • Add the code in Ribbon.xml file to customize the Office Tab and bind the tab with the Ribbon file to get associated with the ThisAddin Class file which in turn load this Addin when MSOffice Loads by parsing the FontExtractionRibbon.xml file. Mindfire Solutions Confidential
  • 10. Defining the Action method • Implement an action method in Ribbon.cs file in the Helper region as specified in Ribbon.xml file and include the Office Core Library in the references as shown below. Implement the Plugin Functionality in this region Mindfire Solutions Confidential
  • 11. Binding the Ribbon File with the Addin(s) • Once the method is implemented in Ribbon file. Bind the ribbon file with the Addin Class to Populate the MS Office Application’s Ribbon with this add in(s) by overriding the Ribbon Extensibility Object. This is very important step as skipping this may lead to incorrect/improper functioning of Addin(s). Mindfire Solutions Confidential
  • 12. Publishing and Deploying the Plugin Before Deploying the Plugin make sure that following requirements are met on the target machine otherwise It may lead to incorrect/improper functioning of the Plugin. Required Prerequisite Components on the Target Computer  .NET Framework needs to be present on the system  It can be installed on the same type of machine format(say 64 bit)on which it was originally developed.  Microsoft Visual Studio Tools for office runtime as it provides a runtime environment that manages add-ins.  The Primary Interop assemblies for the required version of Microsoft Office.  Any Project Specific Assemblies(dll) referenced by the projects that target the .NET Framework on which plugin is developed  Exactly same version of Hosting application(MS Office) needs to be present on the system  User must have administrative privilege to install/run the plugin. Note-Once the plugin is installed it will loaded in Hosted Application (MS office )by default every time the Application launches hence we need to either remove or disable the addin if required from MS Office . Mindfire Solutions Confidential
  • 13. Publishing and Deploying the Plugin(Continued..) • • • Once all the Required Prerequisite are met. The Developed plugin can be published and deployed on the target machine. Right Click the Project and Publish it.Enter the Publish location and Installation path as shown in fig and click next. The Publish Location can be any of the below: publish to a Web site or network share and have the users install from there publish to a staging Web site and then copy the files to another Web site for installation. publish to a network share to test installations and then have users install from a Web site or build CDs for installation. Mindfire Solutions Confidential
  • 14. Publishing and Deploying the Plugin(Continued..) • Specify the Installation path in the wizard. It will be same as Publish path (if not provided).Select a corresponding option from the wizard and click o next and then finally say finish. Mindfire Solutions Confidential
  • 15. Publishing and Deploying the Plugin(Continued..) • • Once the publish is successful. Navigate to the published path specified in the publish wizard. There will be following files as shown below The VSTO file is a copy of the deployment manifest file. Mindfire Solutions Confidential
  • 16. Publishing and Deploying the Plugin(Continued..) Click on Application files and navigate through it.It contains the following files    Customization Assembly(has .Deploy file name extension) Application Manifest file, an XML file which provides the runtime with the information it needs to load and update customization assemblies Copy of Deployment manifest. Mindfire Solutions Confidential
  • 17. Installing the Plugin(s) Once published, the Plugins is now ready to be installed. Close all the MS office Instances (if open any). Double Click on VSTO File provided and click on install. The Plugin will be installed. Restart the MS Office to start working with it. Mindfire Solutions Confidential
  • 18. FAQs Q-I cannot install the plugin in my system using VSTO File. It says WIN32 exception A-Please make sure that system type on which plugin is developed and machine on which plugin installed are same. Please Contact plugin administrator to get the details. In case of mismatch upgrade your system type during windows installation. Q-I can not load the plugin in my development machine. It says the PowerPoint has encountered a serious problem. How to debug/locate the problem? A-Please note during development if any exception occurs them Microsoft office disable that addin so that it does not load again when MS Office restarts. You may go to option in PowerPoint and click on managed Addins to enable the addins. Q-I cannot install plugin on the other machine,eventhough I have provided the correct VSTO and manifest file, it is working fine on development machine. A-Make sure that correct version of hosting environment(MS office in this case)is installed on the target machine also cross check that you have provided the required DLL(s)(if any) and Customization Assembly as well. Refer Slide number 11 and 15 for more details. For Developers References: http://msdn.microsoft.com/en-us/library/office/bb960904(v=office.12).aspx http://msdn.microsoft.com/en-us/library/bb821233.aspx http://stackoverflow.com/questions/14668672/getting-started-developing-add-in-for-powerpoint http://msdn.microsoft.com/en-us/library/bb386298.aspx Mindfire Solutions Confidential
  • 19. Thanks for your time Any Questions? Mindfire Solutions Confidential