Details
Description
When passing a directory containing a backslash followed by a number on Windows, for example 'C:\my\path\to\5.0', the installation fails.
The actual user message says 'Installation failed, rolling back install'.
The reason for the failure (as captured in the .msi log) is as follows:
WixQuietExec64: Traceback (most recent call last):
|
WixQuietExec64: File "installer-util", line 81, in <module>
|
WixQuietExec64: File "installer-util", line 45, in do_fixpaths
|
WixQuietExec64: File "re.pyc", line 291, in filter
|
WixQuietExec64: File "sre_parse.pyc", line 833, in expand_template
|
WixQuietExec64: sre_constants.error: invalid group reference
|
WixQuietExec64: Error 0x800700ff: Command line returned an error.
|
WixQuietExec64: Error 0x800700ff: QuietExec64 Failed
|
WixQuietExec64: Error 0x800700ff: Failed in ExecCommon method
|
CustomAction FixConfig returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
|
Action ended 16:35:48: InstallExecute. Return value 3.
|
The reason that this fails is interesting, it fails here: https://github.com/couchbase/voltron/blob/master/server-overlay-win/bin/install/installer-util#L46.
It is trying to substitute the default build slave paths with the newly provided custom install path.
It uses regexes to do that, as a result it matches the '\5' as a regex grouping, which is not valid as the original regex has no groupings.
Either we should find a way to fix the backslash issue or somewhere in the installer, prevent users from passing custom install paths with backslashes followed by a number.
The workaround in this case is to specify a different path, for example 'C:\my\path\to\cb-5.0'