Wednesday, August 15, 2012 2:24 PM
I am having issues trying to implement a Provider-Hosted App in SharePoint 2013 Preview On-Premise.
I have followed the setup procedures in the follow articles:
When I execute my application from Visual Studio, I receive the follow message in the output windows:
Active Deployment Configuration: Deploy App for SharePoint
Uninstall App for SharePoint:
Install App for SharePoint:
Uploading the App for SharePoint...
Installation is in progress (00:00:00)
Installation is in progress (00:00:01)
Installation is in progress (00:00:........)
Installation is in progress (00:13:15)
App failed to install, cleaning up...
Successfully uninstalled the App for SharePoint.
Error occurred in deployment step 'Install App for SharePoint': Failed to install App for SharePoint.
When I check the ULS logged I see the message:
Error when try to get access token when deploy AppInstanceId <GUID> with AppPrincipalId <AppPrincipalId> Exception=Microsoft.SharePoint.SPException: The Azure Access Control service is unavailable. at Microsoft.SharePoint.ApplicationServices.SPApplicationContext.GetApplicationSecurityTokenServicesUri...
I didn't understand why the Azure ACS was being used for On-Premise Application development, so I added the reg key to disable the app principal access token check according to this article.
After doing this, the application was able to successfully install. I was asked to trust the application, which I did. After doing this, I attempted to launch the application from the Site Contents page, and received the following error when doing so.
The parameter 'token' cannot be a null or empty string
This error seems to be caused by the fact that the Content Token is not being passed in the request to my application which I assume is because I disabled the app principal token check.
- What is the difference between an On-Premise App and a High Trust App? My understanding is that High Trust Apps were for applications such as Exchange and other infrastructure related apps on-premise that require direct access to SharePoint data outside the context of a specific end user.
Saturday, August 18, 2012 4:08 AM
To create a provider-hosted apps for on-premises use, follow this walkthrough:
You can think of high-trust apps as provider-hosted apps for use on-premises. It does not use ACS. It uses server-to-server protocol. I think there is where the confusion comes in... server-to-server protocol is also used by Exchange. High-trust apps is provider-hosted apps for on-premises
You cannot use a cloud provider-hosted app "as-is" on-premises. Because in a high-trust app, there is no context token, like cloud provider-hosted apps. Also you need to run some configuration steps, etc for each high-trust app you want to deploy.
>>>Do On-Premise, Provider-Hosted Apps actually work in the SharePoint 2013 preview
Yes. But you need to create the app following these steps:
Monday, August 20, 2012 4:26 PM
I appreciate the response...
If this is true, then Provider-Hosted App will not be available from the App Store for on-premise environments?
What types of Apps will be support in the App Store for on-premise environement?
Monday, August 20, 2012 10:29 PM
In SharePoint 2013 Preview, SharePoint-hosted apps and high-trust apps that use server-to-server protocol are supported on-premises. The following are the links to the walkthroughs for those two types of apps:
How to: Create a basic SharePoint-hosted app
How to: Create high-trust apps for SharePoint 2013 using the server-to-server protocol (advanced topic)
At release on-premises farm administrators will be able to configure their farms in a way that supports a broader spectrum of app types, and the storefront will appropriately enable/disable apps that can be used in the current on-premises environment.
- Marked As Answer by BGrego Monday, August 20, 2012 10:33 PM
Monday, August 20, 2012 10:33 PM
That is what I was looking for.