Question

I'm developing some cross platform software targeting Mono under Visual Studio and would like to be able to build the installers for Windows and Linux (Ubuntu specifically) with a single button click. I figure I could do it by calling cygwin from a post-build event, but I was hoping for at best a Visual Studio plugin or at worst a more Windows-native way of doing it. It seems like the package format is fairly simple and this must be a common need.

edit: Re-asked question under other account due to duplicate login issue.

Was it helpful?

Solution

I am not aware of any plugin that does it natively, especially since Mono users seem to prefer MonoDevelop.

However, it should be possible to use Cygwin and a custom MSBuild Task or Batch file in order to achieve that by using the native .deb creation tools.

OTHER TIPS

Debian's .deb packages are just "ar" archives containing tarballs. You can manipulate both types of files using cygwin or msys quite easily:

$ ar xv asciidoc_8.2.1-2_all.deb 
x - debian-binary
x - control.tar.gz
x - data.tar.gz

$ tar -tzf control.tar.gz 
./
./conffiles
./md5sums
./control

Or you can install all the "standard" Debian stuff using cygwin, I suppose, but most of that stuff won't benefit you much if you're building a .Net app anyway.

this must be a common need.

Some small percentage of software developers develop for .NET
Some very small percentage of that group develop for mono
Some small percentage of that group wants to provide .debs instead of just a zip
Some very small percentage of that group wants to build their linux apps on windows instead of natively on linux

It's just you :-)

If you use the .NET Core SDK, you can use dotnet-packaging tools to create a Debian installer package from any platform that runs .NET Core.

For example, running dotnet deb -c Release -f netcoreapp2.1 -r ubuntu.16.04-x64 would then create a .deb file which you can use to install your app on Ubuntu 16.04.

The project repository has more details.

If you don't mind using Java tools it's possible to build Debian packages with jdeb in an Ant script. That's probably lighter than relying on Cygwin.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top