Packaging multiple programs into one installer C# (visual 2010 basic) - c#

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.

Related

Windows 8 Store Import

Reading the following (and skimming other areas of the site):
http://msdn.microsoft.com/library/windows/apps/br211361.aspx
It seems as though I have to re-write a program I've been writing in VC# 2010, to be able to put it on Windows Store. Is this true? Can I simply import my project into VC# 2013 and then put it out there? Is there a reason I shouldn't do that even if I could (i.e. it looks different than other Windows 8 apps and users will be off-put by it)?
If I can't import and release my project into Windows Store directly, and this is a little bit of a tangent, but, can I at least import it into Visual Studio 2013, and then begin rewriting/adding the parts I need to to be able to make it compatible with Windows Store? I've never used app stores before, so please be gentle.
In most cases, opening a VS2010 project in VS2013 is not a pain.
You can find 2 kind of apps in the Windows Store :
Modern UI apps (aka Metro)
Desktops Apps
If you want to create a Modern UI app you need to target the .Net 4.5 framework. To do so you need to upgrade to VS2013.
But most of your work will be to rewrite a huge part of your program as the modern UI is not compabible with WPF (and you will need to manage touch devices). Other assemblies also doesn't have all the features of the desktop ones, so you will probably have a little bit of work in that area too.
Here is a link that explain the process of publishing an app in the Windows Store : http://msdn.microsoft.com/en-us/library/windows/apps/jj657972.aspx
If you want to publish a desktop application it seems to me that you only need to provide an URL to download your package. Be careful it is not possible to submit that kind of app with a personal account, you need a company account to do so. You can find more information about that process on MSDN: http://msdn.microsoft.com/en-US/windows/desktop/dd535817

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.

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.

Visual Studio Single Windows Form application Multiple Developer

I am about to develop a Windows Form application using Visual Studio. I want multiple developers to work on the same project I created. However users are not at same location as me, ie they are connected in via the internet.
My question is, How can we all work on the single application concurrently and have multiple developers connected to it through the internet ?
I recommend you to use a source control tool like Subversion for example. This allows you continuously merge the code and track all the individual changes. It is often used in commercial institutions.
http://tortoisesvn.net/
There are many other paid tools you could use if you can afford.
http://en.wikipedia.org/wiki/List_of_revision_control_software

How to make a custom installer for games, etc?

Can anyone tell me how to create a custom installer to 'install' games. I say custom meaning I don't want the user to have the option where the game is installed. I want it to be a straight forward process, maybe with just one loading bar.
The program I'm developing is a 'center' for game playing, which includes a community and other features, such as a timer that records how long a game is played for. I just thought that installing each game in one place, with a simple installer would make the program easier to use. It also will allow me to do other features as the games will all be installed in one place. No need for the user to specify where the game is installed.
Would this be possible?
I'm presuming your game is developed in C#, rather than requiring the installer be written in C#?
If that's the case, there are plenty of options available to you for installer packages. Probably the most customisable option, whilst still being free, is Nullsoft Install System. The installers are built around some basic scripting activities, and can be as simple or complex as you desire - the installation, and the wiki have plenty of example scripts that you can explore and experiment with.
OT: Install Location
Personally, I'd consider it bad practice to disallow the user from selecting their own install location and, in fact, it gets me pretty frustrated when anything but system-file installations (e.g. drivers) stop me from choosing a directory. Many users will choose to locate certain types of installation and data on a non-default device (e.g. virtually all of my games are housed on a separate drive to my main Windows installation). If you need to remember the installation location so badly, create a registry key for it.
Another system you can use is called Inno Setup - http://www.jrsoftware.org/isinfo.php
If the games already exist your best option would be to call the MSI installers in administrative mode (see documentation for MSIExec). Then you could actually
Set a predetermined location for the games
Remove any UI and replace that with your custom installer UI
Obviously that would only work if the installs are really MSI modules (with some more work also for installers that have MSIs packed into EXE setups). That is true for most, but likely not all games.
Please note that this would be a sizable task and to be honest I cannot see any value in doing what you are planning. But thats up to you.
As start you would have to read into the MSI documentation. I'd recommend WIX (Windows Installer XML) for the beginning.

Categories

Resources