Why does my WPF .NET4 app starts slow on PCs first time when I can only ping the internet - wpf

I have deployed a WPF .NET4 application on my customer's network.
The network can ping the internet, but the PCs are not able to browse.
It takes about 60 seconds to start the application.
TcpView shows that the app is trying to communicate with these URLs:
customer.teliacarrier.com
office365.com
msgr.dlservice.microsoft.com
akamaitechnologies
If we open the internet and starts the application once everything work fine and we can close the firewall again.
Does anyone know why the app communicates on the URLs the first time???

The customer has solved the problem.
The firewall was configures to allow ping to all external sites.
When they changed the rule to not allow ping everything worked fine.
I think that .NET 4 uses some signed files that the machine tries to authenticate.

If you used ClickOnce deployment or 3rd party components the app might be looking for updates.
All of the URLs (except for the office365.com) refer to download/mirror sites.
You could try to have a look at the requests that are being send to get more details.

If you have signed your files they may be trying to authenticate against a Certificate Authority. Also - make sure you ngen your wpf files before delivery - this speeds up the first launch of the file (Regardless of reaching out to websites). http://msdn.microsoft.com/en-us/library/6t9t5wcf(v=vs.80).aspx

Related

Can you Run winform app in the cloud as a process?

Currently, I have full access to a local Windows IIS System in which we execute a windows forms application as a processes in which the winform app runs and takes a screen shot of itself and the web call returns the URL of the saved image. The full process looks like -
User navigates to webpage
User inputs variables on web page and submits it to IIS end point.
IIS takes variables, runs Process.Start on winform app passing in variables.
IIS returns the URL from the screen capture of the winform app.
Is this something that is doable on Azure or Amazon? I'd like to put this in the cloud but I'm not sure if security restrictions would prevent an app like this from being executed as we had to give specific permissions to get this to work.
If you do this now on a server with IIS, you would be able to do it in the cloud (azure or amazon although I have no amazon experience so I'm guessing). The real question is what would you have to deploy. In this case, you cannot use an app service as your platform for this, you would have to run it in a virtual machine with IIS and configure everything as you do now. Or, if you are adventurous and need load balancing, etc. you could try a virtual machine scale set.
One caveat, since I do not know what the windows application does, what it depends on, you may need to put in some networking configuration if the windows app communicates back to an on-prem database or file store.

Monitor URLs accessed by mobile app

I have downloaded an Android app (which is also available for iPhone and ipad). I want to monitor which URLs it is accessing. On the desktop, you can use tools like Chrome dev tools for browser traffic and Charles Proxy (http://www.charlesproxy.com/) for other app traffic. Is there a similar way to set a proxy for the app from outside it, and then view any connection attempts, possibly with headers and responses?
I only need to do it once, to ensure the app isn't malicious, so the process doesn't have to be the most convenient method in the world. For example, it could involve setting up a proxy app on the desktop and then connecting through that, or running the Android or iOS version on a desktop-based simulator and monitoring that.
When searching SO, a lot is to be found on this topic. The best solution seems to be setting up a desktop to be an access point for the android device and run wireshark on it like suggested here
Capturing mobile phone traffic on wireshark
your best bet is charles proxy trial version
to set up charles proxy is like butter
1) Make sure both computer and device are on the same network
2) Download charles proxy on computer
3) On device go to wifi--> connection name--> hold on to it --> modify --> manual proxy --> give your ip address and port 8888
4) keep charles open on computer while you are doing this
5) you will get a pop up in charles regarding the connection and will start showing you the traffic being captured from the app..

SharePoint 2010 and Silverlight

We currently have a Silverlight application which is hosted in a SharePoint 2010 page. The Silverlight app makes web service calls to a another server on our domain, which has a clientaccesspolicy file in place. We are experiencing cross-domain issues in our production environment.
Users in the farm admin group can use the Silverlight application without any issues. However, all other users recieve the generic cross domain exception when they try to use this app. We have attached Fiddler to the process and noticed that the farm admins are served the clientaccesspolicy file, but that non-admin users are not. In fact, Fiddler does not ever show an attempt to load this file for non-admins.
This only happens in our production environment, which leads me to believe there is a web config or permission setting causing the issue. Unfortunately, I cannot find anything that backs this up.
Has anyone else run into this issue or know if such a setting exists?
See comments above. I had to change the URL to use the full machine name i.e. from webserver/service.svc to webserver.domain.com/service.svc. It solved the problem but doesn't answer the question about why the farm admins could access it. vorrtex's response is the best possible explanation I have seen so far.

Silverlight 5 trust application issue

In silverlight5 beta, it supports trust application which allows loading local files. I tried and it works fantastic in both OOB and in browser mode. One question is that, when put my cap on the server, it works fine in OOB mode but doesn't work in browser. I think debugging locally and deployment is different. Is there a way to request the trust in browser as I tried locally?
Thanks,
Howard 
There are a number of steps needed:-
The XAP needs to be signed using a code-signing certificate
Then on the client machine
A tweak to the registry on the client machine that needs to run a trusted app inbrowser
The code signing certificate then needs to be installed on the client machine.
Those last two in a real world deployment would be configured using a Group Policy.
See the Beta document topic How to: Enable Trusted Applications to Run Inside the Browser.

Silverlight 4 launch a trusted application into the browser?

I just lost 5 hours looking for a answer which i haven't been able to find :p
First, I'd like to force a trusted application (i need to access the file system) to display into the browser. Based on what i found on google a trusted application must be installed and launched as a desktop application (also called out-of-browser application).
So, i want to have an installed application on the client side but meanwhile, the user must also be able to start this same application into a browser window when he goes on my web site. Is this possible ?
Second, I'd like to give to the user the possibility to start the application from the browser. To be clear, the application is installed on the client computer but i want a button on my web site which starts the desktop application. How can i do that ?
Thanks
The answers are sort of and no.
Yes you can run an application that has been installed on the client also in the browser. However, not all of the installed application features will be available. Anything that requires elevated trust will not work inside the browser.
No you can't launch the installed application programmatically from within code running in the browser. The best you can do is display a polite message to the user to the effect that they have this app already installed and in order to access all of its feature they will need to launch it.
Yes, it is possbile since Silverlight 5, see my answer on silverlight-4-elevated-permission-inside-the-browser

Resources