Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I just shipped my first working MonoGame in-development game to one of my friends. He got some OpenAL DLL crashes, until he installed OpenAL.

Is there a way to include the OpenAL dependencies somehow with my game? I noticed Visual Studio already copies MonoGame, OpenTK, Tao.SDL, etc. to the bin directory.

Edit: XNA/MonoGame/VisualStudio already creates all the required DLLs, content, etc. in bin; it's only OpenAL that doesn't appear (there's no DLL). What's the best way to handle this without creating an installer?

share|improve this question
    
Why don't you just include the OpenAL install in your install process? –  Vaughan Hilts Feb 11 '13 at 6:41
1  
Because I don't have an install process :) –  ashes999 Feb 11 '13 at 12:36
    
"Because I don't have an install process" You're already depending on OpenTK, Tao.SDL, and so forth, so that's a problem you're going to have to fix sooner or later. –  Nicol Bolas Feb 11 '13 at 14:15
1  
I haven't tried this, but you could attempt to put the openal32.dll and wrap_oal.dll files along with the rest of your bins. It should technically work, but again I have not tested this. –  Jon Feb 11 '13 at 17:38
1  
I actually tried @Jon's suggestion with my game recently and still had users report issues. I think the silent installer is the only way to go. –  craftworkgames Feb 12 '13 at 5:21

2 Answers 2

up vote 1 down vote accepted

I haven't tried this, but you could attempt to put the openal32.dll and wrap_oal.dll files along with the rest of your bins. It should technically work, but again I have not tested this.

share|improve this answer
1  
OpenAL shouldn't be installed like this where possible - it's bad practice and has side-effects as noted by a user in the original question comments. –  Vaughan Hilts Feb 12 '13 at 15:13
    
I agree. I was requested to put this as an answer. –  Jon Feb 12 '13 at 15:16
    
I disagree. This worked for me and is the simplest solution. +1 –  ashes999 Feb 12 '13 at 16:35

Just run the OpenAL installer inside of your install process.

You should be deploying your game with some sort of installer anyway to include libraries you might have and do other legwork, so just include another step in your build process to install OpenAL with the silent flag. For OpenAL this is:

/S or /s or -S or -s The installation runs in silent mode. Nothing will be displayed.

Reference

This should be all you need to ensure every user has OpenAL installed before they try and run your game.

share|improve this answer
    
I've never shipped any XNA games, so I never ran into this before -- I usually just zip up binaries. What's the "usual" developer's choice for Windows/XNA installation? –  ashes999 Feb 11 '13 at 12:37
    
I've updated my question. I would like to avoid needing an installer (OpenAL is the only reason I need it today, which I don't even use in Windows apps). If there's no better answer, a winnar is you. –  ashes999 Feb 11 '13 at 17:28
    
The alternative is including OpenAL in the EXE itself and unpacking itself upon the system if it's not installed. I can include an example below if you need implementation details. –  Vaughan Hilts Feb 11 '13 at 18:35
    
@ashes999 Or copying all the OpenAL stuff to the directory if OpenAL requires no additional registry keys etc. –  Vaughan Hilts Feb 11 '13 at 18:36
    
what install software/kit do you recommend? I tried ClickOnce and NSIS without success. –  ashes999 Feb 13 '13 at 4:38

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.