-->
1.1 ABSTRACT
This document defines the format of Uniform Resource Identifiers (URIs) for office productivity applications. The scheme is supported in Microsoft Office 2010 Service Pack 2 and later, including the Microsoft Office 2013 for Windows and the Microsoft SharePoint 2013 products. It is also supported in Office for iPhone, Office for iPad, and Office for Mac 2011.
The Linux and macOS Application Packages provide an ODBC driver that works with the unixODBC project. This product replaces the older Linux client with a new and greatly improved ODBC driver. Note: At the time of this writing, MS Excel for Mac does not integrate with the required unixODBC project library.
1.2 INTRODUCTION
These URI schemes allow for office productivity applications to be invoked with various commands. Each application is given a different named scheme but all schemes follow the same rules for how the URI is formed (URI Schema).
1.3 URI SCHEMA
Full schema
< scheme-name >:< command-name >'|'< command-argument-descriptor > '|'< command-argument >
A URI as defined in this document may have one or more command arguments, each of which must include both the < command-argument-descriptor > and the < command-argument > elements and be delimited by the vertical bar ('|') character. When more than one command argument is included in a URI there must be a vertical bar ('|') character separating each command argument from the following command argument.
These schemes do not include an authority component as defined in section 3.2 of RFC 3986. Invocation of the commands specified in this document takes place in the context of the system invoking the command. For example, when the URI 'ms-excel:ofv|u|https://contoso/Q4/budget.xls' is invoked from a personal computer running Microsoft Windows with Microsoft Office 2013 installed the expected result is that the local installation of Microsoft Excel will be launched and passed arguments to open the file at https://contoso/Q4/budget.xls in read-only mode. Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
The scheme syntax includes the following:
< scheme-name >: This refers to the type of application that should be invoked. For instance, the ms-word: scheme name is registered by Microsoft Word.
':' separator
< command-name >: This describes the actions that the application should perform. For instance, opening a document for viewing. The list of command names is described in section 1.5.
'|' (vertical bar) separator
< command-argument-descriptor >: This element gives more information about what the command argument is about.
'|' (vertical bar) separator
< command-argument >: The arguments vary depending on the command. One common argument is the URI to a document, typically using the http or https scheme. Note that within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
Abbreviated schema
An abbreviated form of the office URI schemes allows for a more compact request to launch a specified Office application to open the resource located at a given URI. This abbreviated form implies the < command-name > 'ofv' and the < command-argument-descriptor > 'u'. No further commands or command arguments are allowed in this schema.
< scheme-name >:< command-argument >
< scheme-name >: the type of application that should be invoked. For instance ms-word: for Microsoft Word.
< command-argument >: URI for the resource the application should open. Currently only URIs based on the http or https scheme are supported.
1.4 SCHEME NAMES AND OFFICE APPLICATION REGISTRATIONS
The following is the list of scheme names implemented in Microsoft Office applications. When Microsoft Office is installed, each scheme name is registered with Windows to be handled by the Office product of the same name. Note that 'ms-spd' is an abbreviation for SharePoint Designer.
- ms-word:
- ms-powerpoint:
- ms-excel:
- ms-visio:
- ms-access:
- ms-project:
- ms-publisher:
- ms-spd:
- ms-infopath:
1.5 COMMANDS AND REQUIRED COMMAND ARGUMENTS
View Document
The following command will cause the application to open the document referenced by the URI in a read-only or view mode.
Command Name: ofv
Command argument descriptor: u
Command argument: a URI to the document, based on the http or https scheme
Example: ms-excel:ofv|u|https://contoso/Q4/budget.xls
Edit Document
The following command will cause the application to open the document referenced by the URI in editing mode.
Command Name: ofe
Command argument descriptor: u
Command argument: a URI to the document, based on the http or https scheme
Example: ms-powerpoint:ofe|u|https://www.fourthcoffee.com/AllHandsDeck.ppt
New Document from Template
The following command will cause the application to create and open a new document based on the template stored at the specified URI. The template file is not modified in this process. An additional command argument may be supplied to specify the default path offered as a save location when the file is first saved. It is possible for the user to choose a different location.
Command Name: nft
Command argument descriptor 1: u
Command argument 1: a URI to the template, based on the http or https scheme
Optional Command argument descriptor 2: s
Optional Command argument 2: URI to specify the default save folder
Example: ms-word:nft|u|https://cohowinery/templates/elegance.pot|s|https://cohowinery/presentations
As a note, if the optional default save location is supplied, it must be pointing to the same host name as the template.
Additionally, the SharePoint Designer and InfoPath applications (which implement the ms-spd: scheme and ms-infopath: schemes, respectively) do not support the 'new document from template' functionality.
1.6 BACKWARDS COMPATIBILITY
When parsing a URI to extract the appropriate command arguments for a given command, the Office URI handler will only use the command arguments that have the expected command argument descriptor. If there are additional pairs of arguments and argument descriptors that have unexpected argument descriptors, they will be removed from the URI. This mechanism allows future versions of the scheme to add additional command arguments without breaking backward compatibility with legacy implementations of this scheme.
1.7 IMPLEMENTATION RESTRICTIONS ON COMMAND ARGUMENTS
The below restrictions are placed on command arguments in its current implementation in Office 2013.
Length limitations on URI command arguments
For URI command arguments, the maximum path length is 256 characters for all apps except Excel, where the limit is 216. Path lengths greater than these may be supported on an app-by-app basis and testing is recommended before deploying any solutions that rely on this.
Allowed characters in URI command arguments
Allowed URIs must conform to the standards proposed in RFC 3987 - Internationalized Resource Identifiers (IRIs) . Characters identified as reserved in RFC 3986 should not be percent encoded. . Filenames must not contain any of the following characters: / : ? < > | ' or *.
APPENDIX A - URI SCHEME REGISTRATION TEMPLATE FOR MS-WORD SCHEME
A-3. URI Scheme Syntax
Word Scheme = 'ms-word:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location = URI location of folder in which new document should be created
A-4. URI Scheme Semantics
The ms-word scheme defines a URI syntax for opening or creating a word processing document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs a word processing application to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs a word processing application to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs a word processing application to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
A-5. Applications/Protocols that use the ms-word URI Scheme
The ms-word URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Word 2013 or Microsoft Word 2010 with Service Pack 2. Microsoft SharePoint 2013 uses ms-word URIs as links to word processing documents stored in SharePoint document libraries.
A-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters.. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
A-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-word URIs, clicking on a link to an ms-word URI will cause the registered word processing application to be launched, with instructions to the word processing application to attempt to open a document at the specified URI. Word processing applications registering to process ms-word URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
A-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX B - URI SCHEME REGISTRATION TEMPLATE FOR MS-POWERPOINT SCHEME
B-3. URI Scheme Syntax
PowerPoint Scheme = 'ms-powerpoint:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
B-4. URI Scheme Semantics
The ms-powerpoint scheme defines a URI syntax for opening or creating a presentation document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs a presentation application to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs a presentation application to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs a presentation application to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
B-5. Applications/Protocols that use the ms-powerpoint URI Scheme
The ms-powerpoint URI Scheme is used by Microsoft Office 2013 to invoke Microsoft PowerPoint 2013 or Microsoft PowerPoint 2010 with Service Pack 2. Microsoft SharePoint 2013 uses ms-powerpoint URIs as links to presentation documents stored in SharePoint document libraries.
B-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
B-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-powerpoint URIs, clicking on a link to an ms-powerpoint URI will cause the registered presentation application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-powerpoint URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
B-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX C - URI SCHEME REGISTRATION TEMPLATE FOR MS-EXCEL SCHEME
C-3. URI Scheme Syntax
Excel Scheme = 'ms-excel:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
C-4. URI Scheme Semantics
The ms-excel scheme defines a URI syntax for opening or creating a spreadsheet document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs a spreadsheet application to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs a spreadsheet application to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs a spreadsheet application to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
C-5. Applications/Protocols that use the ms-excel URI Scheme
The ms-excel URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Excel 2013 or Microsoft Excel 2010 with Service Pack 2. Microsoft SharePoint 2013 uses ms-excel URIs as links to spreadsheet documents stored in SharePoint document libraries.
C-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
C-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-excel URIs, clicking on a link to an ms-excel URI will cause the registered spreadsheet application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-excel URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
C-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX D - URI SCHEME REGISTRATION TEMPLATE FOR MS-VISIO SCHEME
D-3. URI Scheme Syntax
Visio Scheme = 'ms-visio:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
D-4. URI Scheme Semantics
The ms-visio scheme defines a URI syntax for opening or creating a Microsoft Visio document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs Visio to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs Visio to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs Visio to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
D-5. Applications/Protocols that use the ms-visio URI Scheme
The ms-visio URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Visio 2013 or Microsoft Visio 2010 with Service Pack 2. Microsoft SharePoint 2013 uses ms-visio URIs as links to Visio documents stored in SharePoint document libraries.
D-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
D-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-visio URIs, clicking on a link to an ms-visio URI will cause the registered application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-visio URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
D-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX E - URI SCHEME REGISTRATION TEMPLATE FOR MS-ACCESS SCHEME
E-3. URI Scheme Syntax
Access Scheme = 'ms-access:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
E-4. URI Scheme Semantics
The ms-access scheme defines a URI syntax for opening or creating a database. The scheme defines three commands that serve as instructions regarding what should be done with the referenced database file. The commands are 1) open-for-edit-cmd (ofe), which instructs the database application to open the database at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs the database application to open the database at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs the database application to create a new database based on the template located at the specified template-uri URI and save the new database either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
E-5. Applications/Protocols that use the ms-access URI Scheme
The ms-access URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Access 2013 or Microsoft Access 2010 with Service Pack 2 from web pages. Microsoft SharePoint 2013 uses ms-access URIs as links to Access databases stored in SharePoint document libraries.
E-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters. Within <command-argument> segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
E-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-access URIs, clicking on a link to an ms-access URI will cause the registered application to be launched, with instructions to the application to attempt to open a database at the specified URI. Applications registering to process ms-access URIs should implement protections to guard against opening databases from untrusted remote systems that may include malicious code.
E-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX F - URI SCHEME REGISTRATION TEMPLATE FOR MS-PROJECT SCHEME
F-3. URI Scheme Syntax
Project Scheme = 'ms-project:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
F-4. URI Scheme Semantics
The ms-project scheme defines a URI syntax for opening or creating a Microsoft Project document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs Project to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs Project to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs Project to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
F-5. Applications/Protocols that use the ms-project URI Scheme
The ms-project URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Project 2013 from web pages. Microsoft SharePoint 2013 uses ms-project URIs as links to Project documents stored in SharePoint document libraries.
F-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
F-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-project URIs, clicking on a link to an ms-project URI will cause the registered application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-project URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
F-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX G - URI SCHEME REGISTRATION TEMPLATE FOR MS-PUBLISHER SCHEME
G-3. URI Scheme
Syntax Publisher Scheme = 'ms-publisher:' open-for-edit-cmd | open-for-view-cmd | new-from-template-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
new-from-template-cmd = 'nft|u|' template-uri ['|s|' save-location]
document-uri = URI location of document to open
template-uri = URI location of template file upon which new file will be based
save-location* = URI location of folder in which new document should be created
*save-location is an optional parameter
G-4. URI Scheme Semantics
The ms-publisher scheme defines a URI syntax for opening or creating a Microsoft Publisher document. The scheme defines three commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs Publisher to open the document at the specified URI for editing; 2) open-for-view-cmd (ofv), which instructs Publisher to open the document at the specified URI in a read-only mode; and 3) new-from-template-cmd (nft), which instructs Publisher to create a new document based on the document template located at the specified template-uri URI and save the new document either in the location specified in the optional save-location URI or, in the absence of that optional URI, in the default document library location.
G-5. Applications/Protocols that use the ms-publisher URI Scheme
The ms-publisher URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Publisher 2013 or Microsoft Publisher 2010 with Service Pack 2 from web pages. Microsoft SharePoint 2013 uses ms-publisher URIs as links to Publisher documents stored in SharePoint document libraries.
G-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters. Within <command-argument> segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
G-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-publisher URIs, clicking on a link to an ms-publisher URI will cause the registered application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-publisher URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
G-9. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX H - URI SCHEME REGISTRATION TEMPLATE FOR MS-SPD SCHEME
H-3. URI Scheme Syntax
SharePoint Designer Scheme = 'ms-spd:' open-for-edit-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
document-uri = URI location of document to open
H-4. URI Scheme Semantics
The ms-spd scheme defines a URI syntax for opening a Microsoft SharePoint Designer document. The scheme defines two commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs SharePoint Designer to open the document at the specified URI for editing; and 2) open-for-view-cmd (ofv), which instructs SharePoint Designer to open the document at the specified URI in a read-only mode.
H-5. Applications/Protocols that use the ms-spd URI Scheme
The ms-spd URI Scheme is used by Microsoft Office 2013 to invoke Microsoft SharePoint Designer 2013 from web pages. Microsoft SharePoint 2013 uses ms-spd URIs as links to SharePoint Designer documents stored in SharePoint document libraries.
H-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
H-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-spd URIs, clicking on a link to an ms-spd URI will cause the registered application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-spd URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
H-8. References
RFC 3987 - International Resource Identifiers (IRIs)
APPENDIX I - URI SCHEME REGISTRATION TEMPLATE FOR MS-INFOPATH SCHEME
I-3. URI Scheme Syntax
Infopath Scheme = 'ms-infopath:' open-for-edit-cmd | open-for-view-cmd
open-for-edit-cmd = 'ofe|u|' document-uri
open-for-view-cmd = 'ofv|u|' document-uri
document-uri = URI location of document to open
I-4. URI Scheme Semantics
The ms-infopath scheme defines a URI syntax for opening or creating a Microsoft Infopath document. The scheme defines two commands that serve as instructions regarding what should be done with the referenced document. The commands are 1) open-for-edit-cmd (ofe), which instructs InfoPath to open the document at the specified URI for editing; and 2) open-for-view-cmd (ofv), which instructs InfoPath to open the document at the specified URI in a read-only mode.
I-5. Applications/Protocols that use the ms-infopath URI Scheme
The ms-infopath URI Scheme is used by Microsoft Office 2013 to invoke Microsoft Infopath 2013 from web pages. Microsoft SharePoint 2013 uses ms-infopath URIs as links to Infopath documents stored in SharePoint document libraries.
I-6. Interoperability Considerations
Note that the vertical bar used as a delimiter in this specification is not among those characters identified in section 2.2 of RFC 3986 as reserved for potential use as delimiters. This is done intentionally to maximize the set of characters the URI command argument can support without a need to percent-encode those characters.
Ms Project Client For Mac
Within < command-argument > segments the RFC 3986 reserved characters ':' and '/' are part of the argument data, not delimiters, and are therefore included unescaped.
I-7. Security Considerations
On systems that have registered handlers to recognize and act on ms-infopath URIs, clicking on a link to an ms-infopath URI will cause the registered application to be launched, with instructions to the application to attempt to open a document at the specified URI. Applications registering to process ms-infopath URIs should implement protections to guard against opening documents from untrusted remote systems that may include malicious code.
I-8. References
RFC 3987 - International Resource Identifiers (IRIs)
-->Looking to install a package? See Ways to install NuGet packages.
To work with NuGet, as a package consumer or creator, you can use command-line interface (CLI) tools as well as NuGet features in Visual Studio. This article briefly outlines the capabilities of the different tools, how to install them, and their comparative feature availability. To get started using NuGet to consume packages, see Install and use a package (dotnet CLI) and Install and use a package (Visual Studio). To get started creating NuGet packages, see Create and publish a NET Standard package (dotnet CLI) and Create and publish a NET Standard package (Visual Studio).
Tool | Description | Download |
---|---|---|
dotnet.exe | CLI tool for .NET Core and .NET Standard libraries, and for any SDK-style project such as one that targets .NET Framework. Included with the .NET Core SDK and provides core NuGet features on all platforms. (Starting in Visual Studio 2017, the dotnet CLI is automatically installed with any .NET Core related workloads.) | .NET Core SDK |
nuget.exe | CLI tool for .NET Framework libraries and for any non-SDK-style project such as one that targets .NET Standard libraries. Provides all NuGet capabilities on Windows, provides most features on Mac and Linux when running under Mono. | nuget.exe |
Visual Studio | On Windows, the NuGet Package Manager is included with Visual Studio 2012 and later. Visual Studio provides the Package Manager UI and the Package Manager Console, through which you can run most NuGet operations. | Visual Studio |
Visual Studio for Mac | On Mac, certain NuGet capabilities are built-in directly. Package Manager Console is not presently available. For other capabilities, use the dotnet.exe or nuget.exe CLI tools. | Visual Studio for Mac |
Visual Studio Code | On Windows, Mac, or Linux, NuGet capabilities are available through marketplace extensions, or use the dotnet.exe or nuget.exe CLI tools. | Visual Studio Code |
The MSBuild CLI also provides the ability to restore and create packages, which is primarily useful on build servers. MSBuild is not a general-purpose tool for working with NuGet.
Package Manager Console commands work only within Visual Studio on Windows and do not work within other PowerShell environments.
Visual Studio
Install on Visual Studio 2017 and newer
Starting in Visual Studio 2017, the installer includes the NuGet Package Manager with any workload that employs .NET. To install separately, or to verify that the Package Manager is installed, run the Visual Studio installer and check the option under Individual Components > Code tools > NuGet package manager.
Install on Visual Studio 2015 and older
NuGet Extensions for Visual Studio 2013 and 2015 can be downloaded from https://dist.nuget.org/index.html.
For Visual Studio 2010 and earlier, install the 'NuGet Package Manager for Visual Studio' extension. Note, if you can't see the extension in the first page of search results, try changing the Sort By dropdown to 'Most Downloads', or an alphabetical sort.
CLI tools
You can use either the dotnet
CLI or the nuget.exe
CLI to support NuGet features in the IDE. The dotnet
CLI is installed with some Visual Studio workloads, such as .NET Core. The nuget.exe
CLI must be installed separately as described earlier.
The two NuGet CLI tools are dotnet.exe
and nuget.exe
. See feature availability for a comparison.
- To target .NET Core or .NET Standard, use the dotnet CLI. The
dotnet
CLI is required for the SDK-style project format, which uses the SDK attribute. - To target .NET Framework (non-SDK-style project only), use the
nuget.exe
CLI. If the project is migrated frompackages.config
to PackageReference, use the dotnet CLI.
dotnet.exe CLI
The .NET Core 2.0 CLI, dotnet.exe
, works on all platforms (Windows, Mac, and Linux) and provides core NuGet features such as installing, restoring, and publishing packages. dotnet
provides direct integration with .NET Core project files (such as .csproj
), which is helpful in most scenarios. dotnet
is also built directly for each platform and does not require you to install Mono.
Installation:
- On developer computers, install the .NET Core SDK. Starting in Visual Studio 2017, the dotnet CLI is automatically installed with any .NET Core related workloads.
- For build servers, follow the instructions on Using .NET Core SDK and tools in Continuous Integration.
To learn how to use basic commands with the dotnet CLI, see Install and use packages using the dotnet CLI.
nuget.exe CLI
The nuget.exe
CLI, nuget.exe
, is the command-line utility for Windows that provides all NuGet capabilities; it can also be run on Mac OSX and Linux using Mono with some limitations.
To learn how to use basic commands with the nuget.exe
CLI, see Install and use packages using the nuget.exe CLI.
Installation:
Windows
Note
NuGet.exe 5.0 and later require .NET Framework 4.7.2 or later to execute.
- Visit nuget.org/downloads and select NuGet 3.3 or higher (2.8.6 is not compatible with Mono). The latest version is always recommended, and 4.1.0+ is required to publish packages to nuget.org.
- Each download is the
nuget.exe
file directly. Instruct your browser to save the file to a folder of your choice. The file is not an installer; you won't see anything if you run it directly from the browser. - Add the folder where you placed
nuget.exe
to your PATH environment variable to use the CLI tool from anywhere.
macOS/Linux
Behaviors may vary slightly by OS distribution.
Install Mono 4.4.2 or later.
Execute the following command at a shell prompt:
Create an alias by adding the following script to the appropriate file for your OS (typically
~/.bash_aliases
or~/.bash_profile
):Reload the shell. Test the installation by entering
nuget
with no parameters. NuGet CLI help should display.
Tip
Use nuget update -self
on Windows to update an existing nuget.exe to the latest version.
Note
The latest recommended NuGet CLI is always available at https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
. For compatibility purposes with older continuous integration systems, a previous URL, https://nuget.org/nuget.exe
currently provides the deprecated 2.8.6 CLI tool.
Feature availability
Feature | dotnet CLI | nuget CLI (Windows) | nuget CLI (Mono) | Visual Studio (Windows) | Visual Studio for Mac |
---|---|---|---|---|---|
Search packages | ✔ | ✔ | ✔ | ✔ | |
Install/uninstall packages | ✔ | ✔(1) | ✔ | ✔ | ✔ |
Update packages | ✔ | ✔ | ✔ | ✔ | |
Restore packages | ✔ | ✔ | ✔(2) | ✔ | ✔ |
Manage package feeds (sources) | ✔ | ✔ | ✔ | ✔ | |
Manage packages on a feed | ✔ | ✔ | ✔ | ||
Set API keys for feeds | ✔ | ✔ | |||
Create packages(3) | ✔ | ✔ | ✔(4) | ✔ | |
Publish packages | ✔ | ✔ | ✔ | ✔ | |
Replicate packages | ✔ | ✔ | |||
Manage global-package and cache folders | ✔ | ✔ | ✔ | ||
Manage NuGet configuration | ✔ | ✔ |
(1) Does not affect project files; use dotnet.exe
instead.
(2) Works only with packages.config
file and not with solution (.sln
) files.
(3) Various advanced package features are available through the CLI only as they aren't represented in the Visual Studio UI tools.
Ms Project Professional For Mac
(4) Works with .nuspec
files but not with project files.
Upcoming Features
If you'd like to preview upcoming NuGet features, install a Visual Studio Preview, which works side-by-side with stable releases of Visual Studio. To report problems or share ideas for previews, open an issue on the NuGet GitHub repository.
Related topics
Ms Project Client For Mac Download
Developers working on Windows can also explore the NuGet Package Explorer, an open-source, stand-alone tool to visually explore, create, and edit NuGet packages. It's very helpful, for example, to make experimental changes to a package structure without rebuilding the package.