Why uwp apps take long time to start? - wpf

Even an uwp app containing nothing but a button starts up slower than a wpf or winform app. Is there any reason behind it?? Is this because of uwp apps running in container that makes the start up process slow??

Emmm, it's the disadvantage of uwp, maybe ms team want to show how fast their code works. But we can do something to make it launch very fast in release mode.
First open Package.appxmanifest in text mode.
Insert uap5 at the top of the file.
<Package
...
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
IgnorableNamespaces="uap mp uap5"
...>
Then you need to find label SplashScreen.
<uap:SplashScreen ... uap5:Optional="true"/>
Finally, change to release mode, you will find your app is launching very quickly.

Related

Winform desktop app and touch

I`ve a legacy winform desktop app that works perfectly with mouse and keyboard. It has some selfmade controls that involve the creation of threads and so on, for example the longer a button is pushed the faster a number is incremented.
The application also uses a win32 dll. Now, the client wants that application to be touch enabled and run it in a tablet, which also means resizing and rotation capabilities.
My question is, which is the better way to get that application touch enabled and responsive design?
I can try to modify the existing winform, but I think it will be lot of work with poor results. I can also migrate to WPF and reuse the c# code, but I might have trouble with the keyboard, as I have not found a good way to show the keyboard and maintain the whole app on the screen. Or I can migrate to windows store app, but with the problem of that win32 dll, that I`m not sure it could be migrated.
The winform application is multilingual so creating a keyboard is not a valid option.
If the target is touch screen, then for sure the best option would be a Windows Store App, although there are several limitations.
If you are not going to publish this application in Windows Store, then you should be able to use all WinAPI functions. (I'm not sure what is win32.dll - if it's your own dll then it can be a problem).

Debug XBAP hosted in WPF Application

I have a WPF Application (say, WPF.exe) with multiple tabs. In one of the tabs, I display a *.xbap using: WebBrowser tag.
<WebBrowser Source="c:/PublishedWebSites/Test.xbap"/>
When I start WPF.exe, I am able to attach debugger to any other UserControl but not to my XBAP. I also tried attaching my XBAP to PresentationHost.exe process which was started when I click on the browser tab.
The break points are not hit in XBAP project, though I verified that when I publish the XBAP, I oublish *.pdb files as well.
Could anyone tell me what I am doing wrong here?
Thanks,
RDV.
I could debug. Steps:
1. Compile and Publish XBAP. DO NOT change anything after publishing.. in case you do.. republish it.
2. Ensure there are no PresentationHost.exe processes running.
3. Run the WPF application. Launch XBAP (as one of the tabs ..in my case).
4. Debug->Attach to process-> Connect to PresentationHost.exe=> ensure that you select the correct 32 vs 64 version (i think this was my mistake).
Thanks,
RDV

Getting only gray screen when launching citrix application

Recently we installed a .net WPF application on citrix. When I go and launch it from citrix using RES powerfuse, I only get a grey screen and no controls are rendered on the screen.
The application is open and the main window can be seen but everything is grey in it. The mouse pointer also disappears behind the application.
The funny part is when the people from the operations team launch the application, it works fine. but not for regular users. This makes me suspect it could be something to do with permissions, yet we have given the access to open the program to all users, thats why the icon appears in citrix in the first place
What server are you running the app on? I recall we hit a WPF rendering bug on certain versions of Windows Server (+ XenApp) where the app would only render properly for administrators. This was a .NET bug - nothing to do with Citrix per-say. From what I remember the WPF rendering engine was trying to get access to some system resource that regular users could not access. I believe we only saw this on 2003 servers.
Just did some further digging, I think this is the issue:
http://support.microsoft.com/kb/955692
For quick n temporary resolution:
Check your local machine resolution and Citrix desktop/application resolution.
Equalise the both it will work.
Ex: 1024/762 is the right resolution.
For test: Do maximise n minimize the screen you will see the change.

How do I recreate this design of silverlight?

I have a silverlight sample code that looks like this simple design of just an APP and a PAGE file. I want to recreate this sort of setup from scratch to create a project that ouputs a silverlight program yet it only has these couple of files along with some support files. I went through the creation of a number of Silverlight creations and none produced such a simple and small design. How do I create such a formation that is just an App and a Page and such a few additional files from scratch and still have it output as a silverlight app?
First of all, to create this kind of project - I see you are using Visual Studio 2010, simply go to : file-new-project. On the left window there should be a tab for the templates. Select Silverlight (it will be under Visual C#). In the main window, select "Silverlight application". Once you named your project and click ok, you will be prompted on whether to host the page in a new website. Untick the checkbox and click ok. Now you will have your project exactly as it looks in your image.
Just note though, as you run it in VS, it will automatically generate a page for the app to run in, but since you indicated that it should not create a website to host it in, when wanting to deploy, you will have to create your own page and add the required markup yourself.

Silverlight 3 - Can I run Out-of-browser inside another application

The new Silverlight 3 beta includes the ability to run Out-of-Browser applications. The demos so far show this only inside a special frame. Does anyone know how I can run Siverlight 3 controls inside a (WPF) application?
No, you can not embed out-of-browser silverlight into WPF. The sllauncher.exe standalone frame has a special handler for the offline://(hostname).(revision)/ url given to it to allow the app to have all the features of out-of-browser mode (like extra keyboard access). Unless you can find a way to embed this app into your app, you won't be able to get out-of-browser; if you know some way to do this the address for this app is:
C:\Program Files\Microsoft Silverlight\3.0.40307.0\sllauncher.exe
As others have said, however, you can embed a silverlight control inside of an html page and that inside a WebBrowser element. Be cautious with this method, however, since there is currently no x64 support for Silverlight and if you absolutely must do this make sure to compile specifically for x86.
I'm guessing (yes, shame on me!) but you can probably put a WPF web browser on your window and navigate to the Silverlight app inside it.
This is a supported scenario; a recent MSDN article stated this scenario was supported, and scenarios like this forced the CLR team to allow multiple CLRs loaded into a single process.
It seems that SLOOB apps run inside a host process (C:\Program Files\Microsoft Silverlight\3.0.40307.0\sllauncher.exe). This hosts and sandboxes the app.
I suspect that it will not be possible to host it yourself - sorry if that's a little close to guessing, but short of running a hosting web browser in your WPF app I can't think of a way around the sandboxing requirement.
HTH
You can host a browser control inside a windows app, and load silverlight inside the browser control. This is how live mesh is going to do it.

Resources