When the user navigates between different codebases, he may encounter with a blank/hang web page that fails to render the application. The issue can be encountered in the following scenarios:
1. Navigate to URL1/xbap1
2. Navigate to URL2/xbap1
3. Navigate to URL1/xbap1 -à Issue.
This issue is a bug in PresentationHost (the component responsible for deployment of xbaps using IPHM APIs.). It is encountered when a previous version of an already installed xbap is revisited somehow.
Development/Deployment time workaround options:
· Convert xbap to online-only ClickOnce application as online-only clickonce applications should work in the above scenarios without a problem.
Or
· Change the application identity when deploying to different codebases so that the application looks like a different application. You can change the identity by changing the PKT or name in the deployment manifest. Note that the applications cannot share data through ClickOnce data directory in this case.
· Refrain from ApplicationDeployment APIs as they are going to fail in such scenario. There are two xbap APIs that can be used instead of IsNetworkDeployed and ActivationUri.: BrowserInteropHelper.IsBrowserHosted and BrowserInteropHelper.Source respectively. Note that there is no way of accessing Data Directory.
Contributor : Gaurav Bodar Reviewer : Ravi Shankar