I’ve been working on integrating some controls which call in to COM classes in to a Silverlight client. Since my controls use COM, they only work out of browser. The client does have out of browser installation options turned on, and when I launch the client from visual studio, I can right click it, and install it to the desktop. That all seems to be working fine. The strange part though is that my controls don’t work when they’re out of browser – I get an error that the COM server can’t be started.
The stranger part is that if I go in to the clientproperties, and set the Start Action from “Dynamically generate a test page” to “Out of browser application”, my controls work fine, and I get no COM errors. So I guess I don’t understand the difference between installing the application to the desktop through the right click menu and setting the application to start as an out of browser application. Any idea what's going on here?
Edit
It looks like this may be related specifically to debugging. If (in Visual Studio) I choose Debug->Start Debugging, my COM code works. If I choose Debug->Start Without Debugging, it doesn't work. It also doesn't work if installed directly from the XAP file.
This turned out to be an elevation problem. The COM process I was trying to access was running elevated, and I was trying to launch the SL app elevated as well. However, the sllauncher.exe would start up elevated, and then immediately drop its elevated status, and become un-elevated. So we had a non-elevated process trying to talk to an elevated process, which of course would fail. Visual Studio was elevated, so launching the app from there kept it elevated, which is why it worked from there.
I resolved it by making sure the elevation matched on my two apps - not launching the COM process elevated.
Related
I'm trying to convert a WPF oneclick installed application and so everything should be pretty straight forward. However, whenever I run the debug project, I get
'The parameter is incorrect'
in a message box popup and I can never run the app.
This happens for my app while trying to debug, all the samples from github, and even the DAC application from the Windows Store. The error pops up even once the app is installed and showing in my application list.
I'm on the latest build of the Creators Update.
There are various errors in the event viewers, but they seem to be a common occurence for WinRT apps.
Any ideas at all?
If you have the WPF project in VS2017, I'd recommend to package directly from VS without using the DAC. see the article for more information https://learn.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-packaging-dot-net
The problem appears to be related to the May Security Update. I restored Windows to the factory defaults and everything works fine.
However, once I install the the May Security Update to address this bug with Sql Server and Filestreams, the Desktop Bridge Debugging project stops working.
I'm going to throw out a random guess that it's related to the Microsoft Malicious Software Removal Tool, as the event viewer logs mentioned an issue with the 'parameter is incorrect' referring to the Microsoft.MRT.
Of course it could be anything, and as only 7500 people have even downloaded the Desktop Bridge Debugging project in the first place, I doubt it's high on the list of Microsoft Developer Priorities.
And to be completely honest, it's really probably my fault for not rewriting the app as a UWP app, after rewriting it as a Windows Forms app, and as a Silverlight app, and as a WPF app and on and on and on. Although, I'm not sure how many glasses of Kool Aid are left in the punch bowl for me.
I have my application wrote in WPF. Now, i want it to run in browser so I've read about it and I know that XBAP is my solution.
What is my problem? It won't run on my PC. I checked every popular browser (chrome, FF, IE, opera) and nothing. Browsers can't handle .xbap files and just downloads it.
I try and try and nothing but above happened. Can anyone guess why it don't work? Is it deprecated technology, i have too-new browsers or what? Every entries I found about it are 2-4 years old.
Firstly for Internet Explorer (IE9 onwards) you need to ensure that you have enabled XBAP/XAML support:
For Firefox and Chrome you have to do something a bit different:
How can I get my XBAP to run in my browser instead of downloading it on Windows 7?
But in addition to the above you need to be aware that when you run an XBAP application it runs in the Internet Zone....so your biggest problem is that normally you don't have full-trust...therefore your application can't call privileged code...if it tries to then you get security exceptions.
http://www.tarkia.com/blog/tag/difference-between-wpf-application-and-xbap-application/
http://www.tarkia.com/blog/2009/11/26/understanding-xbap-full-trust-partial-trust-certificates-and-more%E2%80%A6/
One way to get your XBAP to be "trusted" is to get it signed with a certificate (you should purchase a proper one from Verisign rather than use a test certificate) and deployed with ClickOnce.
http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/05/wpf-xbap-as-full-trust-application.aspx
http://blogs.microsoft.co.il/blogs/maxim/archive/2008/03/31/how-to-run-wpf-xbap-application-in-full-trust-mode-post-2-certificate-extraction.aspx
http://scorbs.com/2007/01/10/xbap-trust-levels/
Or you can keep your application as a regular WPF .EXE and use ClickOnce to deploy it from a website but run it locally with full trust.
not straight forward way, you can find you answer Microsoft MSDN Forum
I've been using Inspect.exe from the Windows SDK to examine the properties of a WinForms application but noticed that I didn't see any of the properties (for example, the AutomationId) whilst running the application from Visual Studio (F5 to run.) However, if I ran the .exe from the bin\debug folder I could see the properties fine.
The source I was using was example code downloaded from UI Automation Custom Provider Samples - Part 3.
I'm wondering why this happened since I'm sure another machine that I had tried this on worked fine and I wasted time poking around in debug mode wondering why my UI Automation properties weren't visible. Obviously there's a workaround but I'd like to understand why this was happening and have a record of the problem for other people to find!
I've struck upon the answer - because I had launched Visual Studio as Administrator but the Inspect.exe tool as standard user then the properties being reported back were a sub-set of what I should have seen. As soon as I launched Inspect.exe as Administrator it worked!
I made a setup project for my windows forms application and then installed it. It properly created a shortcut on desktop. Now when I double click it to open, it shows a progress bar like thing saying Configuring application. After that, my windows form appears and runs normally.
I have no clue why this is happening. My earlier version for the same application was running properly with o. Also if I install the previous version, it starts normally without any problems. Only the setup files that I am creating now are showing this problem.
Any one having any clue...
You created a ClickOnce installation. You probably wanted to create a standard Setup Project. IIRC, there was some issue with this type of project in Visual Studio 2010, as in the project type is being depreciated, but I can't seem to find anything about that now.
Other alternatives are using WiX or the limited edition of InstallShield.
Oddly enough, the ClickOnce installer is pretty good, assuming you have the infrastructure to support it (a spot on the web where you place updates) and don't mind the nonstandard behavior (that weird dialog on start). Frankly, installer technologies right now in the .NET world suck. They're all extremely complicated and fail to insulate the developer from the intricacies of how installers work with Windows.
To turn off ClickOnce, IIRC, do the following:
Uncheck "Sign the ClickOnce manifests" on the Signing tab
Uncheck "Enable ClickOnce security settings" from the security tab
remove any references to "System.Deployment" from your projects
As hard as I try, I cannot get my silverlight app to stop on break points. I've tried both in and out of browser debugging.
Steps I've done:
Repeatedly cleared my internet
cache.
Made sure Silverlight
debugging is enabled in my test web
application.
Made sure symbols are
loaded by placing a reference to the
silverlight app in my test web
application. (I had the hollow red
dot problem, but this fixed it)
Restarted visual studio and the ASP.NET Development Server
Made sure I was attached to the right process by manually attaching to either sllauncher or the browser hosting the silverlight app.
Ensured that the xap file is being updated in the ClientBin directory after rebuilds.
Cleaned and Rebuilt the solution multiple times.
From my searches, I've found that debugging issues are usually caused by one of the above, but nothing seems to work. It looks like I'm debugging, but the application never breaks. Anyone have any experience with this?
Check the properties of the Web Application / Site. In Visual Studio, Right Click --> Properties. Click the 'Web' tab on the lower left. On the bottom under the 'Debuggers' section, ensure that Silverlight is Checked.
Are you use IE for application or other browser? Be sure that you use an IE.