Problem with Click Once in Azure

AitorEG
Member Posts: 342
Hi everyone,
I have an Azure machine with NAV2017 on it. I don't have any problem to run NAV through the Web Client, but I've found an error when I try to instal de ClickOnce tool. The error is the next one;
Thank you very much
I have an Azure machine with NAV2017 on it. I don't have any problem to run NAV through the Web Client, but I've found an error when I try to instal de ClickOnce tool. The error is the next one;
PLATFORM VERSION INFO Windows : 6.2.9200.0 (Win32NT) Common Language Runtime : 4.0.30319.42000 System.Deployment.dll : 4.6.1086.0 built by: NETFXREL4STAGE clr.dll : 4.6.1086.0 built by: NETFXREL4STAGE dfdll.dll : 4.6.1086.0 built by: NETFXREL4STAGE dfshim.dll : 6.3.9600.16384 (winblue_rtm.130821-1623) SOURCES Deployment url : http://navbeteam2017.cloudapp.net/NAV/Deployment/Microsoft.Dynamics.Nav.Client.application Server : Microsoft-IIS/8.5 X-Powered-By : ASP.NET Deployment Provider url : http://navbeteam2017.cloudapp.net/NAV/Deployment/Microsoft.Dynamics.Nav.Client.application IDENTITIES Deployment Identity : navbeteam2017.cloudapp.net ClickOnce NAV, Version=10.0.0.0, Culture=neutral, PublicKeyToken=0000000000000000, processorArchitecture=msil APPLICATION SUMMARY * Installable application. ERROR SUMMARY Below is a summary of the errors, details of these errors are listed later in the log. * Activation of http://navbeteam2017.cloudapp.net/NAV/Deployment/Microsoft.Dynamics.Nav.Client.application resulted in exception. Following failure messages were detected: + Exception reading manifest from http://navbeteam2017.cloudapp.net/NAV/Deployment/ApplicationFiles/Microsoft.Dynamics.Nav.Client.exe.manifest: the manifest may not be valid or the file could not be opened. + Parsing and DOM creation of the manifest resulted in error. Following parsing errors were noticed: -HRESULT: 0x80070c81 Start line: 0 Start column: 0 Host file: + Exception from HRESULT: 0x80070C81 COMPONENT STORE TRANSACTION FAILURE SUMMARY No transaction error was detected. WARNINGS * The manifest for this application does not have a signature. Signature validation will be ignored. OPERATION PROGRESS STATUS * [23/01/2017 16:14:59] : Activation of http://navbeteam2017.cloudapp.net/NAV/Deployment/Microsoft.Dynamics.Nav.Client.application has started. * [23/01/2017 16:14:59] : Processing of deployment manifest has successfully completed. * [23/01/2017 16:14:59] : Installation of the application has started. ERROR DETAILS Following errors were detected during this operation. * [23/01/2017 16:14:59] System.Deployment.Application.InvalidDeploymentException (ManifestParse) - Exception reading manifest from http://navbeteam2017.cloudapp.net/NAV/Deployment/ApplicationFiles/Microsoft.Dynamics.Nav.Client.exe.manifest: the manifest may not be valid or the file could not be opened. - Source: System.Deployment - Stack trace: at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) at System.Deployment.Application.DownloadManager.DownloadApplicationManifest(AssemblyManifest deploymentManifest, String targetDir, Uri deploymentUri, IDownloadNotification notification, DownloadOptions options, Uri& appSourceUri, String& appManifestPath) at System.Deployment.Application.ApplicationActivator.DownloadApplication(SubscriptionState subState, ActivationDescription actDesc, Int64 transactionId, TempDirectory& downloadTemp) at System.Deployment.Application.ApplicationActivator.InstallApplication(SubscriptionState& subState, ActivationDescription actDesc) at System.Deployment.Application.ApplicationActivator.PerformDeploymentActivation(Uri activationUri, Boolean isShortcut, String textualSubId, String deploymentProviderUrlFromExtension, BrowserSettings browserSettings, String& errorPageUrl) at System.Deployment.Application.ApplicationActivator.ActivateDeploymentWorker(Object state) --- Inner Exception --- System.Deployment.Application.InvalidDeploymentException (ManifestParse) - Parsing and DOM creation of the manifest resulted in error. Following parsing errors were noticed: -HRESULT: 0x80070c81 Start line: 0 Start column: 0 Host file: - Source: System.Deployment - Stack trace: at System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream(Stream stream) at System.Deployment.Application.Manifest.AssemblyManifest..ctor(FileStream fileStream) at System.Deployment.Application.ManifestReader.FromDocument(String localPath, ManifestType manifestType, Uri sourceUri) --- Inner Exception --- System.Runtime.InteropServices.COMException - Exception from HRESULT: 0x80070C81 - Source: System.Deployment - Stack trace: at System.Deployment.Internal.Isolation.IsolationInterop.CreateCMSFromXml(Byte[] buffer, UInt32 bufferSize, IManifestParseErrorCallback Callback, Guid& riid) at System.Deployment.Application.Manifest.AssemblyManifest.LoadCMSFromStream(Stream stream) COMPONENT STORE TRANSACTION DETAILS No transaction information is available.I have tried to create new certificates, change the permission sets, but nothing. Any clue about this issue?
Thank you very much
0
Best Answer
-
The 'production' and 'test' is just an example. You can use whatever name you like, as long as it is unique.
You create 1 clickonce deployment for each service instance.
So if you have 2 service instances, like one for production and one for demo, than you would need 2 clickonce deployments to be available (in different folders) at the same time.
The difference between the two ClickOnce deployments is not just the name in the manifest: they also need different ClientUserSettings.config files <- there is where your connection information to server names, service names and ports (etcetera) is.
So clients needing to connect to the demo environment only install the Demo clickonce;
clients needing the production, install only the Production clickonce;
and you yourself probably install both.
Jan Veenendaal5
Answers
-
Do you see any error/warning in event viewer?Best Regards:
Zaid Tariq
Dynamics NAV/365 BC Developer at Dynamics 360
please like / agree / verify my answer, if was helpful.1 -
-
-
-
I have solved this problem. The problem was that the component wasn't installed in the server, because I didn't open the installation script with the powershell in administrator mode, I just executed the script...
But now I have one doubt. Is it possible to connect to two different instances from the same server with the ClickOnce client?0 -
To connect to different instances (on different or on the same server) you need separate ClickOnce installations. It is perfectly possible to have multiple ClickOnce deployments from one server, each connecting to its own service instance.Jan Veenendaal0
-
Hi,
Yes you can create as many Clickonce clients as you want and they can go to different instances.
Important thing is always to use a different self signed certificates (or a real certificate).
Every Clickonce installation has to have its own self signed certificate.
You also have to sign both manifests with the self singed certificate .
Looking at the error message above it looks like you do not sign the manifests.WARNINGS
* The manifest for this application does not have a signature. Signature validation will be ignored.
I hope this helps.0 -
You do NOT need different certificates for different ClickOnce deployments. We have at least 4 different clickonce deployments from 1 server, to 4 different services - and just use 1 certificate (we use a 'real' certificate, not a self-signed. It is a 'wildcard' certifcate though, that allows for several hosts in one domain)
The certificate is used to ascertain the publisher (which would be you) - so it would be illogical to need more than one.Jan Veenendaal0 -
Hi Jan_Veenendaal ,
I know for sure that if you use self signed certificate you need a different self signed certificate for every clickonce deployment. Otherwise when you start the installation of the e.g. second installation it will tell you that the application is already installed.0 -
Thank you both!!
Now I'm using a self signed certificate. Our idea is to have one ClickOnce client for our "Real" database, and other for demo purposes, using the demo database. So, i understand that at first, I should create 2 different NAV instaces, am I right? Could those instances run in the same ports? In case of not, I need to open the news ports in the azure manager. After opening the ports, I should initialize again the Virtual machine?
Your are talking about real certificates. Where can we get those certificates?
Thank you both again!0 -
That check is based on the Application identity, that is inside your Deployment manifest; the check is not based on the certificate.
See the documentation at:
https://msdn.microsoft.com/en-us/library/hh997056(v=nav.90).aspx
and search for:
'Adjust the assembly.assemblyIdentity.name so that it is unique'Jan Veenendaal0 -
If you want the same port then you will need to set op 'TCP Port Sharing'. It may or may not work in your situation - just test.
You can get a certificate via the internet. You need a certificate for codesigning, and an ssl certificate for your webserver. I do not know if that can be 1 combined certificate.Jan Veenendaal0 -
Jan_Veenendaal wrote: »That check is based on the Application identity, that is inside your Deployment manifest; the check is not based on the certificate.
See the documentation at:
https://msdn.microsoft.com/en-us/library/hh997056(v=nav.90).aspx
and search for:
'Adjust the assembly.assemblyIdentity.name so that it is unique'
I think I don't really understand this. It talks about adding "production" or "test" to the name. In my case, the name has his: name="betea2017.cloudapp.net ClickOnce NAV". NAV is the only NAV server instance that I have now in the server. What I understood on that article, is that I should create 2 diferent application manifests. One will be name="betea2017.cloudapp.net ClickOnce NAV-Production" , and the other name="betea2017.cloudapp.net ClickOnce NAV-Test". After editing the first one, I should install ClickOnce on the client side, and after the second change, the same, so I would have 2 diferent ClickOnce installation on the client side, but against the same Database. Am I right??
But for my goal, that it's to use the "real" database with one client, and the Demo database with another, shouldn't be a better approach to create different instances? I don't really care about port sharing, it's not a problem to create them with different ports and open them after.0 -
The 'production' and 'test' is just an example. You can use whatever name you like, as long as it is unique.
You create 1 clickonce deployment for each service instance.
So if you have 2 service instances, like one for production and one for demo, than you would need 2 clickonce deployments to be available (in different folders) at the same time.
The difference between the two ClickOnce deployments is not just the name in the manifest: they also need different ClientUserSettings.config files <- there is where your connection information to server names, service names and ports (etcetera) is.
So clients needing to connect to the demo environment only install the Demo clickonce;
clients needing the production, install only the Production clickonce;
and you yourself probably install both.
Jan Veenendaal5 -
Jan_Veenendaal wrote: »The 'production' and 'test' is just an example. You can use whatever name you like, as long as it is unique.
You create 1 clickonce deployment for each service instance.
So if you have 2 service instances, like one for production and one for demo, than you would need 2 clickonce deployments to be available (in different folders) at the same time.
The difference between the two ClickOnce deployments is not just the name in the manifest: they also need different ClientUserSettings.config files <- there is where your connection information to server names, service names and ports (etcetera) is.
So clients needing to connect to the demo environment only install the Demo clickonce;
clients needing the production, install only the Production clickonce;
and you yourself probably install both.
Thank you for your help, really apreciate. I will work on it, hopefully I will get the solution, Thank you again!0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions