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.
Related
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.
I'll try to keep this coherent and to the point, been coding all day and a little fried right now. I know doing this is also entirely possible, I'm just not entirely how to do it directly.
The idea is I'm working on a program I'd like to make commercial and sell in the future. Currently it's been holding up to testing processes and everything looks good, but now that I'm starting the improve the program's GUI, I'm hitting limitations using Windows Forms (EI, tab control tops not being easily recolor-able, etc, etc), and had a thought... That I could make the GUI look infinitly better if I could import the program into a web page. Using a dot net project makes that relatively easy since I can copy the C# code over and after a bit of tweaking, it should be fairly straight forward to get everything running and then I just need to rewire everything to the web page GUI.
To handle launching the web page, I was contemplating making a program that creates a "harness" (Small graphic program that just runs a command prompt line to initialize the web service and provides a link to the web page being hosted on the local service. This approach works, but the big issue I'm hitting while probing this route is that the "Release" folder generated on the web application isn't fully self contained and in addition to this all resources are visible. (Hard to sell a product if the first person you sell it to can just distribute the source code around)
So ideally at this point, I'm looking to see if anyone can guide me in the right direct. I'm not sure how to go about creating a program that runs an app inside a local browser AND hides/otherwise makes all the code / resources (images, etc) unviewable/inaccessible to anything outside the program.
Sorry if this is a bit rambly, not entirely sure how to actually ask/find what I'm looking for. (There maybe a name for the thing I'm looking for and I've just never heard of it before.)
I would recommend you to use WPF windows presentation foundation, you can make much more user friendly and intuitive interfaces in WPF comparing to windows form.
Developing and trying to sell a desktop program as a website is never recommended, the website is meant to be hosted on a server and let the clients access all of its functionalities within the browser. So I would suggest you to go and search for WPF.
You also mentioned that you are struggling to improve the windows form User interface design and are struggling to design attractive GUI. Well this is not true you can make amazing GUIs with windows form. take a look at this link https://www.youtube.com/watch?v=K9Ps66GoD-k this will greatly help you to improve the existing windows form application design you already have developed.
I have to develop a windows application whose intention is to split screen in to two virtual monitors like we plug second monitor and windows detect these two monitors and provide settings according to like in this screen shot.
I have to achieve this functionality virtually simulating that a second monitor is attached.
Please guide me how this can be achieved and what logics I should follow?
What kind of windows API I should focus on?
Do I need to interact with windows display drivers or what so ever?
This application has to be developed in C# or VB or VC++ whichever is easy to build in.
The output of this app will cause the screen to be split in two screens and should appear as two separate screens to other applications.
Thanks & Regards.
There might be a api to do it, but for $10 you can get an dongle that plugs in to the computer and creates a fake display. This is the one I used to do it and was happy with.
I am currently finishing a project that uses multiple programs, and I am trying to get ideas of how to package them all into one installer, probably through the publishing option in visual basic, but I am sure there are multiple ways this can be done.
First, the main program is done using windows forms. That program, on the server side, keeps track of information that is going on in the warehouse. Users are able to manipulate that info on the client side as needed from multiple points: receiving, work orders, and shipping.
The external program was done in Unity and uses the same information to show how the warehouse is staged, what work is being done, and gives a 3D view of where people and inventory are located in snap shots of time.
So what I am trying to do, is package the Unity project into the installer. It's okay that it's a stand alone program, since I can just open it via the system controls in the main windows form project.
What isn't okay, is that right now it takes two installs to get everything running. Given that I have to deal with individuals that can barely use Google chat, I need this process to be seamless.
I am personally a fan of WiX. I have used it for small, single application distributions and large composite applications that involve many parts. It is capable of producing MSI( MSU, MSM, etc.), EXE installers and has Visual Studio integration.
I've spent the past few days researching whether its possible to use the Windows API (Preferably Windows 8) to develop an application that can utilize the features in a multiple physical monitor configuration, from a single physical monitor. As far as I can tell you simply cannot do it, or its just not documented at all. Below I will present my problem and the research I've under-taken in the hopes that someone can provide some knowledge I have not yet encountered.
The Problem
In Windows 7+ multi-monitor configurations are able to utilize some cool desktop features such as being able to use a single large desktop that spans multiple monitors, seamless application dragging between them, ability to toggle whether to have the taskbar span or not, etc.
The Virtual Screen (MSDN link).
I would like to gain access to this API and allow my application to use it to allow the user to effectively have multiple virtual desktops from a single physical monitor. Simple as that.
The Solution
Here I will present a number of proposed solutions I have found, and why they will not work (As far as I can tell).
1. Use the Window Station & Desktop API to create entirely new desktops and flip between them.
"A window station is a securable object that is associated with a process, and contains a clipboard, an atom table, and one or more desktop objects.
A desktop is a securable object contained within a window station. A desktop has a logical display surface and contains user interface objects such as windows, menus, and hooks."
MSDN Link.
This is a really clean and simple way to effectively create multiple desktops in windows that allows the user to switch between on a single monitor. However it has the following large caveat:
"Windows doesn't provide a way to move a window from one desktop object to another, and because a separate Explorer process must run on each desktop to provide a taskbar and start menu, most tray applications are only visible on the first desktop." Sysinternals on TechNET.
2. Attempt to create a fake display driver to force Windows to believe it has more than one monitor.
This appears to have been a valid option for a couple of existing similar applications such as ZoneScreen. However in Windows 7 it became difficult to install the unsigned driver and in Windows 8 it appears to be flat out impossible.
3. Fake it by attempting to track applications and force them to hide between user defined monitor groups.
Both commercial and free applications such as DisplayFusion and Finestra Virtual Desktops appear to use a highly convoluted and complex system of tracking launched applications and attempting to hide and unhide them as the user switches between virtual monitors.
This is the most workable solution as it largely meets all the requirements. But its a hack - Some applications don't really work with it and there are many corner cases where it will fail.
What am I missing here? Is any of my research incorrect thus far? Are there areas of the API that I haven't yet plumbed?
develop an application that can utilize the features in a multiple physical monitor configuration, from a single physical monitor
The Windows API ties each desktop to a explorer process and the taskbar,notifications etc are managed on a per-desktop basis. It is possible to create new virtual desktops using this API by creating a new desktop object. However if you are trying to create something that is the equivalent of workspaces in linux distros, then you are out of luck. The desktop object manages the applications launched under a process tree and moving applications between these desktop objects etc is not possible due to the way windows explorer handles work.
The Solution
Here I will present a number of proposed solutions I have found, and why they will not work (As far as I can tell).
The only way to achieve something close to workspaces is to fake it -
each workspace and its process have to be show in the taskbar/notification area by slots. But this is very tough to achieve and games, fullscreen apps etc are bound to break. I am not aware of how this will work out in Win8 either. So yes - workspaces in Windows are going to suck from the get-go.