Copy link to clipboard
Copied
We are having a desktop application exe built and packaged using AIR.
There is a requirement this application (AirWinApp) needs to be integrated with a windows desktop application (DotNetWinApp).
Any help regarding this would be highly appreciated since it will help us in making a decision.
Copy link to clipboard
Copied
an Adobe AIR desktop app is a standalone app (it own its own window)
either you have 2 windows AIRWinApp and DotNetWinapp that communicate with each others:
many way to do that socket connection, shared memory, etc.
or you want to embed one into another
you could embed the AIRWinApp into the DotNetWinApp using ActiveX
you would embed a SWF with the ActiveX
the SWF use ExternalInterface to talk to the DotNetWinApp
the SWF would have the Flash API available (not the AIR API)
other way would be to embed the SWF into HTML and use a web view in DotNetWinApp
Copy link to clipboard
Copied
We need to embed AIRWinApp into DotNetWinApp. However, problem with ActiveX/HTML and ExternalInterface is that externalInterface needs FlashPlayer and support for Flashplayer is ending in 2020.
Whats the best option to embed AIRWinApp into DotNetWinApp without ExternalInterface ?
Copy link to clipboard
Copied
In a very quickly fast Google Search I found this: Hosting EXE Applications in a WinForm project - CodeProject
You can also embed the exe as resource, export to temp folder and run as a process.
Something like this:
byte[] exeBytes = Properties.Resources.myApp;
string exeToRun = Path.Combine(Path.GetTempPath(), "myApp.exe");
using (FileStream exeFile = new FileStream(exeToRun, FileMode.CreateNew))
exeFile.Write(exeBytes, 0, exeBytes.Length);
Process.Start(exeToRun);
This is a generic concept. Don't forget that there are files that your AIR app depends on.
So you have 2 options:
1. Inside a Windows Forms (as if AIR app was a .net App but is not)
2. Run as a independent process and your main .net App it's like a truck.
This seems so trojan and you probably will be blocked by antivirus.