mumble/installer
Mikkel Krautz 5a8c7f505e Update the Mumble installer to work with a versioned directory hierarchy.
This commit updates the Mumble installer to install all binaries except
mumble.exe into a "versioned root".

For example, a typical Mumble installation would look something like this
(rooted the install target, typically "C:\Program Files (x86)\Mumble"):

   /mumble.exe
   /Versions/1.3.0/mumble_app.dll
   /Versions/1.3.0/mumble_ol.dll
   /Versions/1.3.0/mumble_ol_x64.dll
   /Versions/1.3.0/mumble_ol_helper.exe
   /Versions/1.3.0/mumble_ol_helper_x64.exe
   /Versions/1.3.0/mumble-g15-helper.exe
   /Versions/1.3.0/[various runtime DLLs, D3DCompiler, MSVCRT, etc.]

This also changes the installer to disable use of the Windows restart
manager.

The Windows restart manager does not work too well when the Mumble
overlay is in use. In this case, the restart manager will prompt users
to restart all applications that the overlay is injected into.

Users see this as a big list of programs that they must close to
upgrade Mumble.

This can be very scary for anyone that does not know about the
inner workings of the Mumble overlay, and are new to Mumble.
It is an instant red flag for people, and they will associate
Mumble with malware, or be afraid that it will actually touch
anything in those programs and make them unusable in some fashion.

The combination of disabling the restart manager and the new
versioned directory hierarchy removes nearly all of the cases
where a user sees a "file in use" dialog when running the Mumble
installer.

The overlay DLLs will not trigger the "files in use" dialog anymore,
because upgrading to a newer version of Mumble will cause the new
overlay DLLs to be installed in a distinct directory.

The removal of the old overlay files will also not trigger the
"files in use" dialog. Their removal will simply be scheduled
on the next restart of the computer.

This commit also includes a forceful termination of "mumble.exe"
when performing an upgrade of the Mumble installation. This is done
because the removal of the restart manager functionality in the
installer unfortunately also removes the ability to have the restart
manager quit Mumble on upgrade.

With the implementation of the versioned directory hierarchy, there
is a problem with the placement of some of our dependencies, at least
when Mumble and Murmur are installed at the same time.

The "murmur.exe" executable expects dbghelp.dll, msvcr120.dll and
msvcp120.dll to be next to "murmur.exe". However, with this new
directory hierarchy for the client, those DLLs live in the versioned
root instead.

To remedy this, we include two copies of these dependencies. If Murmur
is not chosen during installation, only Mumble's copies are installed
in the versioned root. If Murmur is selected, the DLLs will also be
installed next to murmur.exe.
2015-06-01 20:38:39 +02:00
..
Translations Fix typo in Finnish translation 2015-04-29 17:44:52 +02:00
bannrbmp.bmp Added launch checkbox and new bitmaps for the installer 2010-09-05 01:24:27 +02:00
build_installer.pl Mark shebanged files as executable 2015-05-12 18:51:23 +02:00
dlgbmp.bmp Added launch checkbox and new bitmaps for the installer 2010-09-05 01:24:27 +02:00
Files.wxs Update the Mumble installer to work with a versioned directory hierarchy. 2015-06-01 20:38:39 +02:00
gpl.rtf Add MSI-based installer 2010-08-09 01:34:36 +02:00
gpl.txt Since we depend on mingw dlls anyway, switch to full dynamic linking and add an installer 2005-09-03 14:30:09 +00:00
lgpl.txt Add LGPLv2.1 license (new for Qt 4.5). Update Speex license. Add PortAudio license. 2009-03-11 22:35:15 +01:00
MumbleInstall.sln installer: additional update to the .sln file for x64. 2014-07-16 18:32:24 +01:00
MumbleInstall.wixproj installer: add x64 platform to the installer. 2014-07-16 18:22:01 +01:00
Plugins.wxs installer: distribute all plugins for Windows x64 build. 2015-01-04 01:44:09 +01:00
portaudio.txt Add LGPLv2.1 license (new for Qt 4.5). Update Speex license. Add PortAudio license. 2009-03-11 22:35:15 +01:00
Product.wxs Update the Mumble installer to work with a versioned directory hierarchy. 2015-06-01 20:38:39 +02:00
qos.reg *** empty log message *** 2006-02-14 17:27:27 +00:00
qt.txt Update Qt license text 2009-12-23 18:07:51 +01:00
Settings.wxi Update the Mumble installer to work with a versioned directory hierarchy. 2015-06-01 20:38:39 +02:00
speex.txt Add LGPLv2.1 license (new for Qt 4.5). Update Speex license. Add PortAudio license. 2009-03-11 22:35:15 +01:00
UI.wxs Add property to enable "Launch app at exit" by default. 2014-09-26 00:31:15 +02:00