How do I build an Adobe AIR application using Visual Studio Team Services - air

I have a client with an application that is written in MXML and ActionScript 3 and is deployed as a desktop app using Adobe AIR. The client would like me to implement automated builds and releases for this application and currently uses Visual Studio Team Services as their build and release management platform. My question is, what is the best way to use Visual Studio Team Services (VSTS) to build an Adobe AIR application?
I am familiar with the amxmlc tool for building AIR applications using the command line but this relies on Java and I cannot find any documentation on how to run a Java-based tool from within VSTS. Any assistance on this matter would be appreciated.
I understand that Adobe AIR is an older technology but for reasons that are beyond the scope of this question the client does not want to rewrite the application in newer technology at this time.
In addition, alternative build and deployment platforms are out of the question. I have experience doing something similar using Jenkins however the client would like to stick with VSTS.
Please let me know if you require any additional information to help answer my question. Thanks in advance.

You can setup a private build agent on a machine (can be on your local machine) that have requirement software installed (e.g. JDK, JRE). Deploy an agent on Windows
You can build the AIR application via amxmlc tool, so you can add Command Line task to call amxmlc tool to build your project.

Related

Continous integration of a Windows application using Jenkins

I am having a Windows application which was created on VB.Net and Visual Studio 2008, The application is somewhat big and is around 10 years old. The repository we are using is TFS. I am having a task to create an automatic build for this Windows application and I choose the Jenkins CI for it.
My plan is to build the project solution using MS Build plugin and then publish it and deploy the solution to IIS path.
I have given the below MS Build query to build using Jenkins and get the solution code from TFS and the output was successful:
/t:AppProcSolution /p:Configuration=Release /maxcpucount
But I need publish the same AppProcSolution. Could I do it by passing any other parameters to the above script or should I need to use MS deploy etc. I am totally new to automatic integration. Is it possible for me get the published solution to a particular folder? Almost all the .Net integration using Jenkins tutorial available on the Internet is for deployment to GitHub etc. So if someone has any guidelines to help please provide me a solution.
MSDeploy is good for server application deployments like web applications/sites, SQL server databases or Windows Services.
When you say "Windows application" I assume you mean a WinForm or desktop client application. The best tool for this, in my opinion, is ClickOnce:
https://msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
You could also use a Setup project in VS:
https://msdn.microsoft.com/en-us/library/ms235317(v=vs.90).aspx

How to deploy a metro app to windows 8 device/Tablet?

For testing an application, I have deployed my metro app by creating a app package which is provided in vs2012. I have deployed the package by opening using the PowerShell, but now I want to deploy the metro app in a Windows 8 device (tablet) for testing it, how can I do this?
Will there be a PowerShell option available in device also? (to deploy the app)
Are there any other ways of deployment?
i have used this to sideload apps for testing onto other devices including SurfaceRT
http://blogs.msdn.com/b/patricka/archive/2012/11/06/10365947.aspx
In addition to creating an app package in Visual Studio 2012, and deploying your app that way, you can also use the Remote Tools for Visual Studio 2012 for ARM to deploy and debug an app to a Surface or other tablet (for x86 or x64 tablets, use the matching remote tools install).
Once the remote tools have been installed on the target device, you simply start up the remote tools on the target, configure the access permissions, and then on your development machine, open the project properties, select the Debugging option, and use the dropdown to select Remote Machine as the debugger to launch. Click into the Machine Name field, and use the dropdown to select the machine name of the target machine running the remote tools.
Now, when you start debugging the project, it'll be packaged up and deployed to the target device, and you can set breakpoints and step through your code. And once deployed this way, you can re-run the app from the start screen using the app's tile.
EDIT: One important thing to note...whether you deploy/sideload using the PowerShell script technique, or using remote debugging, the target device will need to have a valid developer license. You should be prompted to obtain a developer license when you attempt to sideload your app, but you can also use PowerShell to obtain the license manually...instructions can be found here: http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh974578.aspx

Deploying a Windows 8 Metro application that uses SQLite

Background
We're using System Center 2012 to deploy a Windows 8 Metro-style application to Samsung slates in the field running Windows 8 Enterprise x64. The slates are joined to the domain and have a persistent DirectAccess connection back to it, allowing System Center to push applications and updates to the devices.
We have to deploy our application to potentially hundreds of devices in the field, which is why we went the System Center route. The code signing cert is installed on every device using Group Policy. To deploy the application, you simply provide the package output and specify the collection of devices to install it on. The app just shows up on the device in a few minutes.
The problem we're having is that when System Center deploys our application, the SQLite dependency is lost and none of our data access works.
About our project
Our application is a WinJS application that uses SQLite as a backend. However, all our data access code is in a C# WinMD project which the WinJS project references. We're using the sqlite-net library to talk to SQLite - we included the source for that in our C# project.
In Visual Studio, we installed the SQLite for Windows Runtime extension as described in Tim Heuer's article. The Metro application references this.
Testing using other deployment methods
SQLite data access from the application works fine when you debug or run it locally - in both Debug/Release and x86/x64.
The app packaging process provides a PowerShell script that you can use to install the application and a developer license if necessary. When installing our app using the PowerShell script, SQLite data access also works fine. Verified this by packaging and installing both Debug/Release and x86/x64 versions of the app.
Troubleshooting
When the application first tries to use SQLite, we see an exception about it not being able to find the sqlite3.dll.
We've tried/verified the following:
Confirm that we're deploying a Release/x64 build
Examine the appx in WinRAR and verify that it contains the sqlite3.dll
Reference the "SQLite for Windows Runtime" extension from the C# project instead of the WinJS project
Also reference the C++ runtime, this caused System Center to fail when deploying the app. Don't know why yet, but looking into it.
UPDATE
The issue is that System Center is having trouble deploying the Visual C++ Runtime Library dependency that the SQLite library needs. So unfortunately this isn't a programming question anymore. We're getting some help on this and I'll post the fix.
I wanted to post the details of a temporary fix that we're going with. We've also gotten closer to the root of the problem, so I wanted to provide those details as well.
Recap of Issue
When referencing the Visual C++ Runtime Package from our Metro project, System Center is unable to deploy the application to the devices because there is a problem deploying the proper version of the dependency for the appropriate architecture and build flavor.
Our development machines running Visual Studio 2012 (and packaging the project for deployment) are using a newer version of the Visual C++ Runtime (50727) than what is available in a fresh installation of Windows 8 (50712).
Worked with the System Center team and confirmed that this was a bug in the version we were using and has already been addressed in future builds. We're going to work on upgrading the environment but that will take a couple of weeks.
Workaround
I confirmed and tested the following workaround:
Remove the reference to the Microsoft Visual C++ Runtime Package from the Metro project
Install the x64 version of the Visual C++ Redistributable for Visual Studio 2012 - http://www.microsoft.com/en-us/download/details.aspx?id=3
Deploy the application
Works like a charm because the correct version of the dependency is there already. Obviously not a long term solution if we choose to also target x86 and ARM, but will get us over this hump.

Is there an SDK out for Windows Run Time (WinRT)?

Is there some kind of SDK out for WinRT.? Can we develop applications for it now?
Is VS2010 usable for developing or will some other IDE be shipped? Also, is C++ necessary to develop performance-oriented apps in WinRT, or will the C# applications give equivalent performance? Can development be done on Win7?
I am curious about this because I missed out when WPF was released and I don't want to miss out on this.
Take a look at the Windows Dev Center where you can download a copy of Windows 8, complete with all the new tools for developing for it.
Visual Studio 11 Developer Preview is also available on Subscriber Downloads if you do have a subscription, and it includes the WinRT SDK and runs on Windows 7 and other operating systems. So you can build it and debug it, but you still have to run your code on a Windows 8 machine.
Performance-wise, WinRT doesn't change the guidance for whether to use native code. The APIs will behave near identically regardless of what language you choose, so make the decision between C++ and C# just as you would today.

unit, integration, system tests for Codeblocks IDE

I recently was given control of a project that is based on the Codeblocks IDE. This project consists of large make scripts, gcc for motorola microcontrollers, and example C programs. The code is under subversion source-control, but there are no test scripts.
I am wondering what the best test package for windows based software is. I would like the ability to launch the software, open a project and compile. Then I would look in the output directory for specific files, binaries, etc. I have the ability to provision a dedicated VM to this task.
I'm wondering if there's a better way for testing than fully launching the IDE and clicking through menus.
I wish this project was assembled with Test-driven development in mind, but now I'm being forced to add in test afterwards.
Thanks for any advice u might have
IMO, you need Microsoft Visual Studio 2010 bundle.
Microsoft Test Manager 2010 for test case/test script/defect tracing management system, even more, you could use it as testing environment management system, including virtual machine(Hyper-V).
And you could also use the Visual Studio as the team project management tool, it has some build-in template for different agile project type.
You could get more information from MSDN.
You should get a try at this bundle,
I am looking into tools such as eggPlant. Unfortunatly this tool costs $6000. I cannot afford this right now so I am still not sure of the answer. Thanks for your input tho.