How to allow a C# UWP app manage another UWP app? - c#

I want to do some things, which I feel are very simple, but I cannot do. I have looked at numerous websites and StackOverflow questions. One question has helped me a bit by pointing me in the right direction, but I feel I need more than just that.
Here is what I want to do (basically):
I would like to make a UWP app that can be managed by another app.
By "managed" I mean:
Should be able to install the app.
Should be able to uninstall the app.
Should be able to check for updates and update the app.
It should also be able to launch the app.
Optional requirements:
While launching the app, I would like to have it set the page of a panel to a certain page. Also fine with it clicking on the navbar and change the panel's page
This would be an example of my app would be like (the one with the panel/nav): Question
I would also like an installer (something like a .exe file or .msi file) for the installing app. Not the .appinstaller that visual studio 19 produces. Something like Inno Setup produces.
Is any of this possible?
If so, please give me some sample code/instructions/links. I would be very thankful for any advice/points in the right direction as well!
If not, please suggest what other language/framework I should use to accomplish these tasks (Is "tasks" the right word?). I don't mind learning anything and have unlimited time. Don't care about the learning curve either. (If I need C++, I will do it. ONLY IF I NEED IT!!!)
Thanks all!
P.S. I know about WPF or WinForms. I don't want to use them because of their age.

As the Rob Caplan said, PackManager class doesn’t support uwp app, it is suitable for desktop app. So maybe you need to create a wpf app and use Desktop bridge to package it into uwp app so that you could use this api. In addition, you could find the sample here about installing appx package, its parent directory Windows-classic-samples/Samples/ also contains other samples you need, such as PackageManagerRemovePackage, etc, please check it.

Related

Is possible to change the default application icon in Xamarin forms cross portable platform app?

Is there a way to place the default application icon in the Portable component and save the annoying process of setting all the different resources for each platform?.
Having a cross platform App using Xamarin Forms in Visual Studio 2017, the solution have a Portable project and the Android, iOS and UWP specific projects.
There is no way to do this and I doubt if it ever will. At the end of the day you are still building an Android and iOS app which are still compiled through their own tools and compilers.
These tools expects app icons (amongst other things) to be in a certain format, at a certain place. The only thing you (or Xamarin) could do about that is to create it's own format for it and then generate the files in the right size, at the right place for you. I guess this is waaaaay low on the priority list, if it is on it at all. Also, thinking on how to do this, I also believe it is a tough process to get stable.
To help you create app icons in all the right dimensions, have a look at services like MakeAppIcon which help you a lot. Basically, you just copy and paste it into the right folders and you're done. But I doubt it will get any better than this anytime soon.

Making a one-file visually customisable installer with patching/updating for XNA C# game

I'm making an XNA game and thought I'd look into making installers for it for when it's finished. It would be great to be able to distribute a single file that contains all the content and extracts all that to the install directory. Also I'd want to choose install directory and other options, and it would be nice to set the appearance of the installer to be in the style of my game.
Updates and patching are also something I'd want to set up. I have a website, so I'd like the game to check for updates from there.
I am familiar with ClickOnce, but I don't feel it is appropriate for the situation, and I've looked at Advanced Installer, Inno installer and wix.
I would love to make my own installer in c# winforms or similar, but I'm new to the area and don't know if this is possible or where to start. I trawled the net but could only find links to the third party stuff, so maybe makign my own is impossible? I wouldn't be bothered about not having start menu entries or registry values or whatever, just want to extract files somewhere then later check for updates before running.
Thanks for helping a newbie!
WiX is a good option for all the requirements you have listed above.
It would be great to be able to distribute a single file that contains all the content and extracts all that to the install directory
Standard WiX Setup project can get you going with this. There are default templates for basic installers
Also I'd want to choose install directory and other options
The default templates are all customisable, so you would be able to collect additional data easily, what you do with the data is up to you.
and it would be nice to set the appearance of the installer to be in the style of my game
WiX 3 onwards (I think) has a project type of 'Bootstrapper' which allows you to put your own UI infront of the installer, such as WPF or even XNA itself if you really wanted. You can specify and budle the requirements for the installer, eg .NET 4.0 if you are using a WPF front end.
I would love to make my own installer in c# winforms or similar
Also an option with WiX Bootstrapper.
Installers are more complicated than you might think, also, for updates and patches, keeping information around of versions of files and how to handle them gets complex fast. My advice would be spend time on your game and take advantage of the hard work of others who have thought long and hard about these problems.

Adding task options when pinned app is right clicked

We have a c# application that requires a few steps be completed before every launch. I wrote a c# app to automate these steps.
Can anyone help me figure out how I can [EDIT: configure a JumpList] for my app?
I have included a screen capture to hopefully get my point across as I'm not sure how to explain it any better.
For the native interfaces, see Taskbar Extensions (Windows). Specifically, I think you're looking for the ICustomDestinationList::AddUserTasks method.
If you're using .Net 4+, you can now do a lot of this stuff with built-in classes in the System.Windows.Shell namespace, rather than adding the Windows API Code Pack as suggested by Coding Gorilla. See for example System.Windows.Shell namespace
Those are called "Jump Lists", have a look at the Windows API Code Pack here. I can't tell you exactly how to implement them, because it's very dependent on your application code. But this should give you somewhere to start.

How to create a launcher application for two Air desktop aplications

I know that my question is very general and I don't expect very detailed answer either, just a lead would be great.
Here is what I want to achieve.
I have build two desktop applications using Adobe Air from Flash AS3 files. Both applications are parts of the same project. They're displaying over two screens, each app on one screen, and whatever you do in one it reflects the other, because they are communication each other through local connection class (AS3).
In fact those two applications are One Multi-screen Application. However to install them on the desktop computer you have to first install one Air app and after that the second Air app. The procedure with launching the apps is the same. You have to click on one icon for the first app to open , and than you click on the other icon for the second app to open, and only then you have whole application up and working.
So I'm looking for some solution which would allowed me to "pack" two installation Air files into one package. The user would have to click only on one "instal.exe" icon to fire up installation of those two air apps.
Maybe it needs to be use some external small C++ scrip, or application launcher - I have no Idea
Pease help me with this case, as I couldn't find it anywhere. I would be very grateful even far the smallest lead.
Thanks in advance
Not real sure but could this help ?
http://www.adobe.com/devnet/air/articles/air3-install-and-deployment-options.html
Depending how large / complicated your applications are maybe you could redactor it into one application and use Native window to then launch two windows each one containing the separate app logic.
This may even offer advantages over using the local connection class, and of course help ease development and maintenance of two separate apps.

Windows manager like mesh.com

I would like to create a basic webdesktop in silverlight 4.
How can I do a windows manager ?
I want to move, resize, minimized, maximized each windows like http://mesh.com...
Does it exist something to create easily a windows manager ?
Do I have to create everything from scratch ?
How ?
Creating a desktop-like environment inside of Silverlight is definitely possible (there are examples out there) but it is not something that is included in the framework. You will need to build each of these features yourself or use a third party library.
You might want to look at projects such as the C64 emulator
Are you looking to do something similar to this Vectorlight sample?
Also, take a look at this blog post about simulating a windows desktop in Silverlight.

Categories

Resources