SharePoint 2013 Preview: Provider-Hosted On-Premise Apps Not Working
-
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:
http://msdn.microsoft.com/en-us/library/fp179923(office.15).aspx
http://technet.microsoft.com/en-us/library/fp161236(office.15).aspx
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.
http://msdn.microsoft.com/en-us/library/office/apps/fp179901(v=office.15)
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.
So, I guess my questions are as follows:
- Why does the on-premise app attempt to use the Azure ACS and if so, why is this required and why is this unavailable?
- 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.
- Do On-Premise, Provider-Hosted Apps actually work in the SharePoint 2013 preview and what am I doing wrong?
Any help would be GREATLY appreciated.
All Replies
-
Saturday, August 18, 2012 4:08 AM
Hi,
To create a provider-hosted apps for on-premises use, follow this walkthrough:
http://msdn.microsoft.com/en-us/library/fp179901(office.15).aspx
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:
http://msdn.microsoft.com/en-us/library/fp179901(office.15).aspx
Thanks,
Siew Moi
- Edited by Siew Moi KhorMicrosoft Employee Saturday, August 18, 2012 4:27 AM
- Proposed As Answer by Siew Moi KhorMicrosoft Employee Saturday, August 18, 2012 4:28 AM
- Unproposed As Answer by Siew Moi KhorMicrosoft Employee Tuesday, August 21, 2012 1:27 AM
-
Monday, August 20, 2012 4:26 PM
Siew
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?
Thanks,
Brett
-
Monday, August 20, 2012 10:29 PM
Hi Brett,
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
http://msdn.microsoft.com/en-us/library/office/apps/fp142379(v=office.15)
How to: Create high-trust apps for SharePoint 2013 using the server-to-server protocol (advanced topic)
http://msdn.microsoft.com/en-us/library/office/apps/fp179901(v=office.15)
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.Thanks,
Siew Moi
- 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.
Thank you,
Brett

