Sign in to follow this  
synth_cat

how to make installer outside of VStudio IDE

Recommended Posts

Hello all, I want to make an installation program for my game. The only special things I want are for DirectX to be updated and for the user to be prompted to sign a EULA. I would ike to ask some questions: 1) I know that Windows Installer comes with Windows XP. Does this mean that somewhere on my hard drive I can find a Windows Installer program which I can use _on its own_ to generate an .msi file to install my game? Note: I'm asking this weird question because, unlike other developers, I cannot make an installation program from within Visual Studio. This is because I am using Visual C++ 2005 Express, and I cannot create installer projects (or whatever they're called.) 2) If I cannot use Windows Installer on its own to make my installer, would Inno be a good idea? (I hear that it's free and that people have used it before.) If not, what should I use instead? 3) Regarding the installation of DirectX: I know that if I want my installer to install DX, I need to package the DirectX Redistributable folder into my installer .exe/.msi (or at least I think so - please correct me if I'm wrong.) What I'm wondering is: can I take out .cab files which add features which my game doesn't need? Is this illegal? Will it cause DirectX installation to fail? 4) Something else I don't quite understand about installing DX: I know that the DirectX Redistributable folder contains dxsetup.exe, which will basically handle DX installation on its own. So why do I always come across instructions on writing DirectSetup code when I read installer tutorials? If dxsetup.exe will handle all that, then why does the developer ever need to? Couldn't I just go into my installation program maker and type into the script " run DirectX_Redist/dxsetup.exe " at such and such moment? Thanks very much for any help! -synth_cat

Share this post


Link to post
Share on other sites
1. No
2. Sure, although if you're going commercial, you might want to check the licence terms. I've come across them, but I don't know if they charge for commercial usage.
3. No, you can't just arbitrarily remove the .cab files (because then the installer will fail, never mind the licence issues). The easiest way of installing DirectX is to include the redist package in your install and have your installer run the DirectX installer at a suitable point.
4. Pass - there's a tutorial in the DirectX SDK talking you through this but I've never looked at it, so I don't know what the benefits (if any) are.

Share this post


Link to post
Share on other sites
1) No, Windows does not come with any programs to generate MSIs. However, you can use WiX. It takes an XML setup script that it compiles to form an MSI. Download version 3.0 (even though it says 'unstable'); that one has a bunch of new features such as MSBuild support as well as breaking changes from v2.

The biggest downside to WiX is the lack of documentation. It comes with a barebones help file that describes the XML format, but I've found that having prior MSI knowledge really helps. So if you're unfamiliar with MSIs themselves you'll have to read MSI documentation on MSDN.

With that said, there's a really good WiX tutorial with samples.

Note that WiX started out as an internal project at Microsoft that was later made open source. I believe Office and Visual Studio use WiX to build their MSIs.

2) I've heard good things about Inno. This might be a simpler option for you.

3) No, I'm pretty sure the DirectX license forbids you from modifying the DirectX redistributable.

4) I don't know on this. DirectSetup might support silent installs.

Share this post


Link to post
Share on other sites
Well, I'm pretty much decided on going with either NSIS or Inno.

But I can't decide which.

Has anyone ever made a DirectX-installing game installer with either or these? I mainly just want to pick the one which will give me an easier job of handling DirectX installation.

-synth_cat

Share this post


Link to post
Share on other sites
Well, I have already begun using Inno Installer.

But when I package the entire DirectX Redist folder into setup.exe, the file is about 54 MB! That is huge!

Here is a quote from directx_redist.txt, which is in the DirectX SDK (April 2006)

Quote:

DirectX Software Development Kit Redistributable Code
-------------------------------------------------------------
Redistributable Code is identified as all of the files in the following
"Redist" directory on the DirectX SDK CD/Download:

redist/


The following files in the above directory must be included in any distribution of
the DirectX Runtime.

DSetup32.dll
DSetup.dll
DXSetup.exe
DXupdate.cab
dxdllreg_x86.cab


This seems to indicate that I _am_ allowed to remove unnecessary cab files from my installation. Is that definitely true?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this