Use NSIS for installation.

meow-7.2.2
Nicky 2016-08-12 16:55:26 +02:00
parent 64b9599f82
commit 1be22985af
19 changed files with 57 additions and 573 deletions

View File

@ -2129,11 +2129,8 @@ if (WINDOWS)
)
if( ND_BUILD64BIT_ARCH )
if( PACKAGE AND NOT FS_UPGRADECODES )
message( FATAL_ERROR "No Upgradecodes specified")
endif( PACKAGE AND NOT FS_UPGRADECODES )
set( VIEWERMANIFEST_FLAGS --m64 --copy_artwork )
set( VIEWERMANIFEST_PACKAGE_FLAGS --m64 --upgradecodes="${FS_UPGRADECODES}")
set( VIEWERMANIFEST_PACKAGE_FLAGS --m64 )
else( ND_BUILD64BIT_ARCH )
set( VIEWERMANIFEST_FLAGS "" )
set( VIEWERMANIFEST_PACKAGE_FLAGS )

View File

@ -94,8 +94,10 @@ SetOverwrite on # Overwrite files by default
# <FS:Ansariel> Don't auto-close so we can check details
#AutoCloseWindow true # After all files install, close window
InstallDir "$PROGRAMFILES\${INSTNAME}"
InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\The Phoenix Firestorm Project\${INSTNAME}" ""
;;InstallDir "$PROGRAMFILES\${INSTNAME}"
;;InstallDirRegKey HKEY_LOCAL_MACHINE "SOFTWARE\The Phoenix Firestorm Project\${INSTNAME}" ""
InstallDir "$%%INSTALL_DIR%%\${INSTNAME}"
InstallDirRegKey HKEY_LOCAL_MACHINE "%%INSTALL_DIR_REGKEY%%" ""
UninstallText $(UninstallTextMsg)
DirText $(DirectoryChooseTitle) $(DirectoryChooseSetup)
@ -128,6 +130,7 @@ Var NO_STARTMENU # <FS:Ansariel> Optional start menu entry
!insertmacro GetParameters
!insertmacro GetOptions
!include WinVer.nsh # For OS and SP detection
!include "x64.nsh"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Pre-directory page callback
@ -163,6 +166,13 @@ FunctionEnd
Function .onInit
Call CheckCPUFlags # Make sure we have SSE2 support
Call CheckWindowsVersion # Don't install On unsupported systems
${If} ${RunningX64}
${AndIf} ${FS64BIT} == "1"
${DisableX64FSRedirection}
SetRegView 64
${EndIf}
Push $0
${GetParameters} $COMMANDLINE # Get our command line
@ -230,6 +240,11 @@ FunctionEnd
;; Prep Uninstaller Section
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Function un.onInit
${If} ${RunningX64}
${AndIf} ${FS64BIT} == "1"
${DisableX64FSRedirection}
${EndIf}
# Read language from registry and set for uninstaller. Key will be removed on successful uninstall
ReadRegStr $0 HKEY_LOCAL_MACHINE "SOFTWARE\The Phoenix Firestorm Project\${INSTNAME}" "InstallerLanguage"
IfErrors lbl_end

View File

@ -1,68 +0,0 @@
rem @echo off
setlocal
del /F /Q build_MSI\*
rmdir build_MSI
md build_MSI
cd build_MSI
set VIEWER_BUILDDIR=%1
set PROGRAM_NAME=Firestorm_x64
set CHANNEL_NAME=%2
set SETTINGS_FILE=%4
set PROGRAM_FILE=Firestorm-bin.exe
set PROGRAM_VERSION=%2
set PLUGIN_SOURCEDIR=%VIEWER_BUILDDIR%
set OUTPUT_FILE=%5
set MAJOR=%6
set MINOR=%7
set HGCHANGE=%9
set PATH=%PATH%;%1\..\..\packages\bin\wix
set WIX_SOURCE_DIR=%~dp0
shift
shift
shift
shift
shift
shift
shift
shift
shift
set UPGRADECODE=%1
set UPGRADECODE2=%2
set CHANSUFFIX=%3
heat dir %VIEWER_BUILDDIR%\character -gg -cg fs_character -var var.BUILDDIR -dr INSTALLDIR -out character.wxs
heat dir %VIEWER_BUILDDIR%\fonts -gg -cg fs_fonts -var var.BUILDDIR -dr INSTALLDIR -out fonts.wxs
heat dir %VIEWER_BUILDDIR%\fs_resources -gg -cg fs_fsres -var var.BUILDDIR -dr INSTALLDIR -out fs_resources.wxs
python %WIX_SOURCE_DIR%\compress_assets.py %VIEWER_BUILDDIR%\skins %VIEWER_BUILDDIR%\skins
python %WIX_SOURCE_DIR%\compress_assets.py %VIEWER_BUILDDIR%\app_settings %VIEWER_BUILDDIR%\app_settings
candle -dBUILDDIR=%VIEWER_BUILDDIR%\character character.wxs
candle -dBUILDDIR=%VIEWER_BUILDDIR%\fonts fonts.wxs
candle -dBUILDDIR=%VIEWER_BUILDDIR%\fs_resources fs_resources.wxs
candle -dPLUGIN_SOURCEDIR=%PLUGIN_SOURCEDIR% %WIX_SOURCE_DIR%\llplugin.wxs
candle -dPROGRAM_FILE=%PROGRAM_FILE% -dMAJOR=%MAJOR% -dMINOR=%MINOR% -dHGCHANGE=%HGCHANGE% -dBUILDDIR=%VIEWER_BUILDDIR%\ -dWIX_SOURCEDIR=%WIX_SOURCE_DIR% -dUPGRADECODE=%UPGRADECODE% -dCHANNEL_SUFFIX=%CHANSUFFIX% %WIX_SOURCE_DIR%\firestorm.wxs
candle -dPROGRAM_FILE=%PROGRAM_FILE% -dPROGRAM_VERSION=%PROGRAM_VERSION% -dCHANNEL_NAME=%CHANNEL_NAME% -dSETTINGS_FILE=%SETTINGS_FILE% -dPROGRAM_NAME=%PROGRAM_NAME% -dBUILDDIR=%VIEWER_BUILDDIR%\ -dCHANNEL_SUFFIX=%CHANSUFFIX% %WIX_SOURCE_DIR%\registry.wxs
light -sval -ext WixUIExtension -cultures:en-us -out %VIEWER_BUILDDIR%\%OUTPUT_FILE%.msi firestorm.wixobj character.wixobj fonts.wixobj fs_resources.wixobj llplugin.wixobj registry.wixobj
signtool.exe sign /n Phoenix /d Firestorm /du http://www.phoenixviewer.com /t http://timestamp.verisign.com/scripts/timstamp.dll %VIEWER_BUILDDIR%\%OUTPUT_FILE%.msi
candle -dMAJOR=%MAJOR% -dMINOR=%MINOR% -dHGCHANGE=%HGCHANGE% -dWIX_SOURCEDIR=%WIX_SOURCE_DIR% -dFS_MSI_FILE=%VIEWER_BUILDDIR%\%OUTPUT_FILE%.msi -dUPGRADECODE=%UPGRADECODE2% -dCHANNEL_SUFFIX=%CHANSUFFIX% -ext WixBalExtension %WIX_SOURCE_DIR%\installer.wxs
light -sval -ext WixBalExtension -out %VIEWER_BUILDDIR%\%OUTPUT_FILE%.exe installer.wixobj
insignia -ib %VIEWER_BUILDDIR%\%OUTPUT_FILE%.exe -o engine.exe
signtool.exe sign /n Phoenix /d Firestorm /du http://www.phoenixviewer.com /t http://timestamp.verisign.com/scripts/timstamp.dll engine.exe
insignia -ab engine.exe %VIEWER_BUILDDIR%\%OUTPUT_FILE%.exe -o %VIEWER_BUILDDIR%\%OUTPUT_FILE%.exe
signtool.exe sign /n Phoenix /d Firestorm /du http://www.phoenixviewer.com /t http://timestamp.verisign.com/scripts/timstamp.dll %VIEWER_BUILDDIR%\%OUTPUT_FILE%.exe
echo "Done"

View File

@ -1,89 +0,0 @@
from os import walk
from os.path import join, dirname
import sys
import md5
from locale import getdefaultlocale
def asUTF8( aString ):
sLocale = "iso-8859-15"
if getdefaultlocale()[1] != None:
sLocale = getdefaultlocale()[1]
return aString.decode( sLocale ).encode( "UTF-8" )
from msilib import FCICreate
totalFiles = 0
hHashes = {}
cabNames = []
linkNames = []
searchPath = sys.argv[1].replace( "/", "\\" )
if searchPath[ len( searchPath ) -1 ] != "\\":
searchPath += "\\"
for root, dirs, files in walk( sys.argv[1] ):
totalFiles += len( files )
for curFile in files:
fullPath = join( root, curFile )
strippedPath = fullPath[ len( searchPath ): ]
data = open( fullPath, "rb" ).read()
md5Hash = md5.new(data).hexdigest()
writeFile = True
if hHashes.has_key( md5Hash ):
hHashes[ md5Hash ][0] += 1
writeFile = False
else:
hHashes[ md5Hash ] = [1,len(data), strippedPath ]
if writeFile:
cabNames.append( ( fullPath,
str( len( cabNames )+1 )
) )
else:
linkNames.append( (hHashes[ md5Hash ][2], strippedPath) )
FCICreate( sys.argv[2] + ".cab", cabNames )
fDir = open( sys.argv[2] + ".cabdir", "wt" )
dirNames = []
for cabEntry in cabNames:
dirPath = cabEntry[0]
dirPath = dirname( dirPath )
dirPath = dirPath[ len(searchPath): ]
subDirs = dirPath.split( "\\" )
if 0 == len( subDirs[ -1 ] ):
subDirs = subDirs[ :-1]
curDir = ""
for subDir in subDirs:
curDir = join( curDir, subDir );
dirNames.append( "d:" + curDir )
for linkName in linkNames:
subDirs = dirname( linkName[1] ).split( "\\" )
if 0 == len( subDirs[ -1 ] ):
subDirsTree = subDirsTree[ :-1]
curDir = ""
for subDir in subDirs:
curDir = join( curDir, subDir );
dirNames.append( "d:" + curDir )
dirNames = list( set( dirNames ) )
dirNames.sort()
for dirName in dirNames:
fDir.write( asUTF8( dirName ) + "\n" )
for cabEntry in cabNames:
dirPath = cabEntry[0]
dirPath = dirPath[ len(searchPath): ]
fDir.write( "f:" + asUTF8( cabEntry[1] ) + ":" + asUTF8( dirPath ) + "\n" )
for linkName in linkNames:
fDir.write( "l:" + asUTF8( linkName[0] ) + ":" + asUTF8( linkName[1] ) + "\n" )

View File

@ -1,156 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*"
Name="Firestorm SecondLife and OpenSim viewer"
Language="1033" Version="$(var.MAJOR).$(var.MINOR).$(var.HGCHANGE)" Manufacturer="The Phoenix Firestorm Project, Inc."
UpgradeCode="$(var.UPGRADECODE)">
<Package InstallerVersion="200" Compressed="yes" Platform="x64"/>
<MajorUpgrade DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit." MigrateFeatures="no"/>
<Icon Id="firestorm.ico" SourceFile="$(var.WIX_SOURCEDIR)\..\windows\firestorm_icon.ico"/>
<Property Id="MSIFASTINSTALL" Value="7"/>
<Property Id="ARPSIZE" Value="256000"/>
<Property Id="ARPURLINFOABOUT" Value="http://www.firestormviewer.org"/>
<Property Id="ARPURLUPDATEINFO" Value="http://www.firestormviewer.org/downloads"/>
<Property Id="ARPHELPLINK" Value="http://www.firestormviewer.org/support"/>
<Property Id="ARPPRODUCTICON" Value="firestorm.ico"/>
<Property Id="CheckProcess" Value="firestorm-bin.exe"/>
<Media Id="1" Cabinet="firestorm.cab" EmbedCab="yes" CompressionLevel="high"/>
<!-- VersionNT64 is undefined if the operating system is not 64-bit: http://msdn.microsoft.com/en-us/library/aa372497%28v=vs.85%29.aspx -->
<Condition Message="Installing the 64 bit version of [ProductName] on a 32 bit Operating System is not supported. Installation cancelled.">
<![CDATA[VersionNT64]]>
</Condition>
<!-- Do not allow to install the MSI without using the bootstrapper. Mixing MSI and EXE installer has certain implications. Only remove this check if you're aware of them. -->
<Condition Message="This package cannot be installed by using the MSI package.">
<![CDATA[Installed OR FS_FROM_BURN]]>
</Condition>
<!-- OS list: http://msdn.microsoft.com/library/aa370556.aspx -->
<Condition Message="Your system does not meet the minimum requirement of Vista x64 with Service Pack 2 or newer. Installation cancelled.">
<![CDATA[Installed OR (VersionNT64 >= 601) OR (VersionNT64 = 600 AND ServicePackLevel = 2)]]>
</Condition>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder" Name="Firestorm"/>
</Directory>
<Directory Id="DesktopFolder" SourceName="Desktop"/>
<Directory Id="ProgramFiles64Folder">
<Directory Id="INSTALLDIR" Name="Firestorm$(var.CHANNEL_SUFFIX)">
<Component Id="firestorm" Guid="{2CDF0673-595F-4fb4-B38A-C338BF9D4DF1}">
<File Id="firestorm" Source="$(var.BUILDDIR)/$(var.PROGRAM_FILE)" KeyPath="yes"/>
<File Id="firestorm_manifest" Source="$(var.BUILDDIR)/$(var.PROGRAM_FILE).manifest" CompanionFile="firestorm"/>
<File Source="$(var.BUILDDIR)/win_crash_logger.exe" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/fmodex64.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/glod.dll" CompanionFile="firestorm" />
<File Source="$(var.WIX_SOURCEDIR)/msvcp100.dll" CompanionFile="firestorm" />
<File Source="$(var.WIX_SOURCEDIR)/msvcr100.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libapr-1.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libapriconv-1.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libaprutil-1.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libeay32.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libhunspell.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/growl++.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/growl.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/openjpeg.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/ssleay32.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/featuretable.txt" />
<File Source="$(var.BUILDDIR)/licenses.txt" />
<File Source="$(var.BUILDDIR)/VivoxAUP.txt" />
<File Source="$(var.BUILDDIR)/skins.cab" />
<File Source="$(var.BUILDDIR)/skins.cabdir" />
<File Source="$(var.BUILDDIR)/app_settings.cab" />
<File Source="$(var.BUILDDIR)/app_settings.cabdir" />
<File Source="$(var.BUILDDIR)/slvoice.exe" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/libsndfile-1.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/ortp.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/vivoxoal.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/vivoxsdk.dll" CompanionFile="firestorm" />
<File Source="$(var.BUILDDIR)/ca-bundle.crt" />
</Component>
</Directory>
</Directory>
</Directory>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut" Guid="*">
<Shortcut Id="ApplicationStartMenuShortcut" Name="Firestorm$(var.CHANNEL_SUFFIX)" Target="[INSTALLDIR]Firestorm-bin.exe" WorkingDirectory="INSTALLDIR" />
<RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/>
<RegistryValue Root="HKLM" Key="Software\firestorm\firestorm$(var.CHANNEL_SUFFIX)" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<DirectoryRef Id="DesktopFolder">
<Component Id="ApplicationShortcut_Desktop" Guid="*">
<Shortcut Id="ApplicationDesktopShortcut" Name="Firestorm$(var.CHANNEL_SUFFIX)" Target="[INSTALLDIR]Firestorm-bin.exe" WorkingDirectory="INSTALLDIR" />
<RemoveFolder Id="DesktopFolder" On="uninstall"/>
<RegistryValue Root="HKLM" Key="Software\firestorm\firestorm$(var.CHANNEL_SUFFIX)" Name="installed_desktopshortcut" Type="integer" Value="1" KeyPath="yes"/>
</Component>
</DirectoryRef>
<Feature Id="FirestormFeature" Title="Firestorm" Level="1">
<ComponentRef Id="firestorm" />
<ComponentRef Id="Firestorm_Registy" />
<ComponentRef Id="ApplicationShortcut" />
<ComponentRef Id="ApplicationShortcut_Desktop" />
<ComponentRef Id="llplugin_exe" />
<ComponentRef Id="llplugin_libs" />
<ComponentRef Id="llplugin_dir_locales" />
<ComponentGroupRef Id="fs_character" />
<ComponentGroupRef Id="fs_fonts" />
<ComponentGroupRef Id="fs_fsres" />
</Feature>
<Binary Id="ExtractCab" SourceFile="$(var.WIX_SOURCEDIR)\ExtractCab.dll" />
<Binary Id="CheckProcess" SourceFile="$(var.WIX_SOURCEDIR)\CheckProcess.dll" />
<CustomAction Id="CheckProcess" BinaryKey="CheckProcess" DllEntry="doCheckProcess" Execute="immediate" Return="check" Impersonate="no" HideTarget="no"/>
<CustomAction Id="ExtractSkins_pre" Property="ExtractSkins"
Value="InstallDir=[INSTALLDIR]\skins\;CabFile=[INSTALLDIR]\skins.cab;CabDirFile=[INSTALLDIR]\skins.cabdir"/>
<CustomAction Id="ExtractSkins" BinaryKey="ExtractCab" DllEntry="ExtractCab" Execute="deferred" Return="check" Impersonate="no" HideTarget="no"/>
<CustomAction Id="DeleteSkins_pre" Property="DeleteSkins"
Value="InstallDir=[INSTALLDIR]\skins\;CabFile=[INSTALLDIR]\skins.cab;CabDirFile=[INSTALLDIR]\skins.cabdir"/>
<CustomAction Id="DeleteSkins" BinaryKey="ExtractCab" DllEntry="DeleteExtracted" Execute="deferred" Return="check" Impersonate="no" HideTarget="no"/>
<CustomAction Id="ExtractAppSettings_pre" Property="ExtractAppSettings"
Value="InstallDir=[INSTALLDIR]\app_settings\;CabFile=[INSTALLDIR]\app_settings.cab;CabDirFile=[INSTALLDIR]\app_settings.cabdir"/>
<CustomAction Id="ExtractAppSettings" BinaryKey="ExtractCab" DllEntry="ExtractCab" Execute="deferred" Return="check" Impersonate="no" HideTarget="no"/>
<CustomAction Id="DeleteAppSettings_pre" Property="DeleteAppSettings"
Value="InstallDir=[INSTALLDIR]\app_settings\;CabFile=[INSTALLDIR]\app_settings.cab;CabDirFile=[INSTALLDIR]\app_settings.cabdir"/>
<CustomAction Id="DeleteAppSettings" BinaryKey="ExtractCab" DllEntry="DeleteExtracted" Execute="deferred" Return="check" Impersonate="no" HideTarget="no"/>
<InstallExecuteSequence>
<Custom Action="CheckProcess" After="LaunchConditions"></Custom>
<Custom Action="ExtractSkins_pre" After="InstallInitialize">Not Installed</Custom>
<Custom Action="ExtractSkins" Before="InstallFinalize">Not Installed</Custom>
<Custom Action="DeleteSkins_pre" After="InstallInitialize">REMOVE</Custom>
<Custom Action="DeleteSkins" Before="RemoveFiles">REMOVE</Custom>
<Custom Action="ExtractAppSettings_pre" After="InstallInitialize">Not Installed</Custom>
<Custom Action="ExtractAppSettings" Before="InstallFinalize">Not Installed</Custom>
<Custom Action="DeleteAppSettings_pre" After="InstallInitialize">REMOVE</Custom>
<Custom Action="DeleteAppSettings" Before="RemoveFiles">REMOVE</Custom>
</InstallExecuteSequence>
<WixVariable Id="WixUILicenseRtf" Value="$(var.WIX_SOURCEDIR)/../../VivoxAUP.rtf" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" ></Property>
<UIRef Id="WixUI_InstallDir"/>
</Product>
</Wix>

View File

@ -1,75 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix RequiredVersion="3.6.2830.0" xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="Firestorm$(var.CHANNEL_SUFFIX) x64"
Version="$(var.MAJOR).$(var.MINOR).$(var.HGCHANGE)"
Manufacturer="The Phoenix Firestorm Project, Inc."
UpgradeCode="$(var.UPGRADECODE)"
HelpUrl="http://www.firestormviewer.org/support"
AboutUrl="http://www.firestormviewer.org"
Copyright="Copyright© 2016, The Phoenix Firestorm Project, Inc."
Condition="(VersionNT = v6.0 AND ServicePackLevel = 2) OR (VersionNT >= v6.1)"
IconSourceFile="$(var.WIX_SOURCEDIR)\..\windows\firestorm_icon.ico"
>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="$(var.WIX_SOURCEDIR)\..\..\VivoxAUP.rtf"
LogoFile="$(var.WIX_SOURCEDIR)\..\windows\firestorm_icon_small.BMP"
/>
</BootstrapperApplicationRef>
<!--
<WixVariable Id="WixStdbaLicenseUrl" Value="" />
<WixVariable Id="WixStdbaLogo" Value="Resource\logoSmall.png" />
<WixVariable Id="WixStdbaLicenseFile" Value="test.rtf" />
-->
<Variable Name="InstallFolder" Type="string" Value="[ProgramFiles64Folder]Firestorm$(var.CHANNEL_SUFFIX)\" />
<Chain>
<!-- Redist 2010, needed for plugins -->
<ExePackage
Id="vcredist_x86"
SourceFile="$(var.WIX_SOURCEDIR)/vcredist2010_x86.exe"
InstallCommand="/q"
PerMachine="yes"
Vital="no"
/>
<ExePackage
Id="vcredist_x64"
SourceFile="$(var.WIX_SOURCEDIR)/vcredist2010_x64.exe"
InstallCommand="/q"
PerMachine="yes"
Vital="no"
/>
<!-- Redist 2013, needed for viewer -->
<ExePackage
Id="vcredist2013_x86"
SourceFile="$(var.WIX_SOURCEDIR)/vcredist2013_x86.exe"
InstallCommand="/q"
PerMachine="yes"
Vital="no"
/>
<ExePackage
Id="vcredist2013_x64"
SourceFile="$(var.WIX_SOURCEDIR)/vcredist2013_x64.exe"
InstallCommand="/q"
PerMachine="yes"
Vital="no"
/>
<MsiPackage
Id="Setup"
Compressed="yes"
SourceFile="$(var.FS_MSI_FILE)"
Vital="yes"
ForcePerMachine="yes"
>
<MsiProperty Name="INSTALLDIR" Value="[InstallFolder]" />
<MsiProperty Name="FS_FROM_BURN" Value="1" />
</MsiPackage>
</Chain>
</Bundle>
</Wix>

View File

@ -1,94 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="INSTALLDIR">
<Component Id="llplugin_exe" Guid="{ECD05498-BD41-4825-B44F-73F23C72B893}" >
<File Id="slplugin_exe" Source="$(var.PLUGIN_SOURCEDIR)\slplugin.exe" />
<File Id="slplugin_manifest" Source="$(var.PLUGIN_SOURCEDIR)\slplugin.exe.manifest" />
</Component>
<Directory Id="llplugin_dir" Name="llplugin">
<Component Id="llplugin_libs" Guid="{EAA97644-8CAC-43B5-A4C3-2FCBF35C58F4}" >
<File Id="llplugin_cef_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\cef.pak" />
<File Id="llplugin_cef_100_percent_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\cef_100_percent.pak" />
<File Id="llplugin_cef_200_percent_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\cef_200_percent.pak" />
<File Id="llplugin_cef_extensions_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\cef_extensions.pak" />
<File Id="llplugin_d3dcompiler_43_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\d3dcompiler_43.dll" />
<File Id="llplugin_d3dcompiler_47_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\d3dcompiler_47.dll" />
<File Id="llplugin_devtools_resources_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\devtools_resources.pak" />
<File Id="llplugin_icudtl_dat" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\icudtl.dat" />
<File Id="llplugin_libcef_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\libcef.dll" />
<File Id="llplugin_libEGL_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\libEGL.dll" />
<File Id="llplugin_libGLESv2_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\libGLESv2.dll" />
<File Id="llplugin_llceflib_host_exe" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\llceflib_host.exe" />
<File Id="llplugin_llceflib_host_manifest" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\llceflib_host.exe.manifest" />
<File Id="llplugin_media_plugin_cef_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\media_plugin_cef.dll" />
<!-- <File Id="llplugin_media_plugin_quicktime_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\media_plugin_quicktime.dll" /> -->
<File Id="llplugin_media_plugin_gstreamer10_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\media_plugin_gstreamer10.dll" />
<File Id="llplugin_msvcp120_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\msvcp120.dll" />
<File Id="llplugin_msvcr120_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\msvcr120.dll" />
<File Id="llplugin_natives_blob_bin" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\natives_blob.bin" />
<File Id="llplugin_snapshot_blob_bin" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\snapshot_blob.bin" />
<File Id="llplugin_widevinecdmadapter_dll" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\widevinecdmadapter.dll" />
<File Id="llplugin_wow_helper_exe" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\wow_helper.exe" />
</Component>
<Directory Id="llplugin_dir_locales" Name="locales">
<Component Id="llplugin_dir_locales" Guid="{B90686EA-190B-4017-9BC1-6B345A8F3062}" >
<File Id="llplugin_locales_am_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\am.pak" />
<File Id="llplugin_locales_ar_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ar.pak" />
<File Id="llplugin_locales_bg_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\bg.pak" />
<File Id="llplugin_locales_bn_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\bn.pak" />
<File Id="llplugin_locales_ca_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ca.pak" />
<File Id="llplugin_locales_cs_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\cs.pak" />
<File Id="llplugin_locales_da_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\da.pak" />
<File Id="llplugin_locales_de_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\de.pak" />
<File Id="llplugin_locales_el_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\el.pak" />
<File Id="llplugin_locales_en_GB_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\en-GB.pak" />
<File Id="llplugin_locales_en_US_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\en-US.pak" />
<File Id="llplugin_locales_es_419_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\es-419.pak" />
<File Id="llplugin_locales_es_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\es.pak" />
<File Id="llplugin_locales_et_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\et.pak" />
<File Id="llplugin_locales_fa_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\fa.pak" />
<File Id="llplugin_locales_fi_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\fi.pak" />
<File Id="llplugin_locales_fil_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\fil.pak" />
<File Id="llplugin_locales_fr_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\fr.pak" />
<File Id="llplugin_locales_gu_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\gu.pak" />
<File Id="llplugin_locales_he_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\he.pak" />
<File Id="llplugin_locales_hi_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\hi.pak" />
<File Id="llplugin_locales_hr_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\hr.pak" />
<File Id="llplugin_locales_hu_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\hu.pak" />
<File Id="llplugin_locales_id_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\id.pak" />
<File Id="llplugin_locales_it_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\it.pak" />
<File Id="llplugin_locales_ja_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ja.pak" />
<File Id="llplugin_locales_kn_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\kn.pak" />
<File Id="llplugin_locales_ko_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ko.pak" />
<File Id="llplugin_locales_lt_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\lt.pak" />
<File Id="llplugin_locales_lv_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\lv.pak" />
<File Id="llplugin_locales_ml_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ml.pak" />
<File Id="llplugin_locales_mr_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\mr.pak" />
<File Id="llplugin_locales_ms_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ms.pak" />
<File Id="llplugin_locales_nb_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\nb.pak" />
<File Id="llplugin_locales_nl_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\nl.pak" />
<File Id="llplugin_locales_pl_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\pl.pak" />
<File Id="llplugin_locales_pt_BR_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\pt-BR.pak" />
<File Id="llplugin_locales_pt_PT_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\pt-PT.pak" />
<File Id="llplugin_locales_ro_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ro.pak" />
<File Id="llplugin_locales_ru_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ru.pak" />
<File Id="llplugin_locales_sk_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\sk.pak" />
<File Id="llplugin_locales_sl_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\sl.pak" />
<File Id="llplugin_locales_sr_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\sr.pak" />
<File Id="llplugin_locales_sv_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\sv.pak" />
<File Id="llplugin_locales_sw_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\sw.pak" />
<File Id="llplugin_locales_ta_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\ta.pak" />
<File Id="llplugin_locales_te_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\te.pak" />
<File Id="llplugin_locales_th_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\th.pak" />
<File Id="llplugin_locales_tr_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\tr.pak" />
<File Id="llplugin_locales_uk_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\uk.pak" />
<File Id="llplugin_locales_vi_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\vi.pak" />
<File Id="llplugin_locales_zh_CN_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\zh-CN.pak" />
<File Id="llplugin_locales_zh_TW_pak" Source="$(var.PLUGIN_SOURCEDIR)\llplugin\locales\zh-TW.pak" />
</Component>
</Directory>
</Directory>
</DirectoryRef>
</Fragment>
</Wix>

Binary file not shown.

Binary file not shown.

View File

@ -1,55 +0,0 @@
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="TARGETDIR">
<Component Id="Firestorm_Registy" Guid="{5FBA603E-41DD-4efa-BF10-E44F485D7112}">
<RegistryKey Root="HKLM" Key="Software\The Phoenix Firestorm Project\$(var.PROGRAM_NAME)">
<RegistryValue Type="string" Value="[INSTALLDIR]"/>
<RegistryValue Type="string" Name="Flags" Value="--channel $(var.CHANNEL_NAME) --settings $(var.SETTINGS_FILE)"/>
<RegistryValue Type="string" Name="Version" Value="$(var.PROGRAM_VERSION)"/>
</RegistryKey>
<RegistryKey Root="HKCR" Key="secondlife">
<RegistryValue Type="string" Value="URL:Second Life"/>
<RegistryValue Type="string" Name="URL Protocol" Value=""/>
<RegistryKey Key="DefaultIcon">
<RegistryValue Type="string" Value="[INSTALLDIR]$(var.PROGRAM_FILE)"/>
</RegistryKey>
<RegistryKey Key="shell">
<RegistryKey Key="open">
<RegistryKey Key="command">
<RegistryValue Type="expandable" Value="[INSTALLDIR]$(var.PROGRAM_FILE) --channel $(var.CHANNEL_NAME) --settings $(var.SETTINGS_FILE) --url &quot;&#37;1&quot;"/>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</RegistryKey>
<RegistryKey Root="HKCR" Key="x-grid-location-info">
<RegistryValue Type="string" Value="URL:Second Life"/>
<RegistryValue Type="string" Name="URL Protocol" Value=""/>
<RegistryKey Key="DefaultIcon">
<RegistryValue Type="string" Value="[INSTALLDIR]$(var.PROGRAM_FILE)"/>
</RegistryKey>
<RegistryKey Key="shell">
<RegistryKey Key="open">
<RegistryKey Key="command">
<RegistryValue Type="expandable" Value="[INSTALLDIR]$(var.PROGRAM_FILE) --channel $(var.CHANNEL_NAME) --settings $(var.SETTINGS_FILE) --url &quot;&#37;1&quot;"/>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</RegistryKey>
<RegistryKey Root="HKCR" Key="hop">
<RegistryValue Type="string" Value="URL:Second Life"/>
<RegistryValue Type="string" Name="URL Protocol" Value=""/>
<RegistryKey Key="DefaultIcon">
<RegistryValue Type="string" Value="[INSTALLDIR]$(var.PROGRAM_FILE)"/>
</RegistryKey>
<RegistryKey Key="shell">
<RegistryKey Key="open">
<RegistryKey Key="command">
<RegistryValue Type="expandable" Value="[INSTALLDIR]$(var.PROGRAM_FILE) --channel $(var.CHANNEL_NAME) --settings $(var.SETTINGS_FILE) --url &quot;&#37;1&quot;"/>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</RegistryKey>
</Component>
</DirectoryRef>
</Fragment>
</Wix>

View File

@ -666,6 +666,17 @@ class Windows_i686_Manifest(ViewerManifest):
self.path(src='../win_crash_logger/%s/windows-crash-logger.exe' % self.args['configuration'],
dst="win_crash_logger.exe")
if self.fs_is_64bit_build():
if self.prefix(src=os.path.join(os.pardir, '..', 'indra', 'newview', 'installers', 'windows_x64'), dst="llplugin"):
self.path("msvcp120.dll")
self.path("msvcr120.dll")
self.end_prefix()
if self.prefix(src=os.path.join(os.pardir, '..', 'indra', 'newview', 'installers', 'windows_x64'), dst=""):
self.path("msvcp120.dll")
self.path("msvcr120.dll")
self.end_prefix()
if not self.is_packaging_viewer():
self.package_file = "copied_deps"
@ -735,7 +746,9 @@ class Windows_i686_Manifest(ViewerManifest):
# </FS:ND>
substitution_strings['installer_file'] = installer_file
substitution_strings['fs64bit'] = ( 1 if self.fs_is_64bit_build() else 0 )
version_vars = """
!define INSTEXE "%(final_exe)s"
!define VERSION "%(version_short)s"
@ -753,35 +766,44 @@ class Windows_i686_Manifest(ViewerManifest):
!define INSTNAME "%(app_name_oneword)s"
!define SHORTCUT "%(app_name)s"
!define URLNAME "secondlife"
!define FS64BIT "%(fs64bit)d"
Caption "%(caption)s"
"""
tempfile = "secondlife_setup_tmp.nsi"
install_dir = "PROGRAMFILES"
install_dir_regkey = "SOFTWARE\\The Phoenix Firestorm Project\\${INSTNAME}" ""
if self.fs_is_64bit_build():
install_dir += "64"
install_dir_regkey = "WOW3264Node\\SOFTWARE\\The Phoenix Firestorm Project\\${INSTNAME}" ""
self.fs_sign_win_binaries() # <FS:ND/> Sign files, step one. Sign compiled binaries
if not self.fs_is_64bit_build():
# the following replaces strings in the nsi template
# it also does python-style % substitution
self.replace_in("installers/windows/installer_template.nsi", tempfile, {
# the following replaces strings in the nsi template
# it also does python-style % substitution
self.replace_in("installers/windows/installer_template.nsi", tempfile, {
"%%VERSION%%":version_vars,
"%%SOURCE%%":self.get_src_prefix(),
"%%INST_VARS%%":inst_vars_template % substitution_strings,
"%%INSTALL_FILES%%":self.nsi_file_commands(True),
"%%INSTALL_DIR%%": install_dir,
"%%INSTALL_DIR_REGKEY%%": install_dir_regkey,
"%%DELETE_FILES%%":self.nsi_file_commands(False)})
# We use the Unicode version of NSIS, available from
# http://www.scratchpaper.com/
# Check two paths, one for Program Files, and one for Program Files (x86).
# Yay 64bit windows.
NSIS_path = os.path.expandvars('${ProgramFiles}\\NSIS\\Unicode\\makensis.exe')
if not os.path.exists(NSIS_path):
NSIS_path = os.path.expandvars('${ProgramFiles(x86)}\\NSIS\\Unicode\\makensis.exe')
# We use the Unicode version of NSIS, available from
# http://www.scratchpaper.com/
# Check two paths, one for Program Files, and one for Program Files (x86).
# Yay 64bit windows.
NSIS_path = os.path.expandvars('${ProgramFiles}\\NSIS\\Unicode\\makensis.exe')
if not os.path.exists(NSIS_path):
NSIS_path = os.path.expandvars('${ProgramFiles(x86)}\\NSIS\\Unicode\\makensis.exe')
installer_created=False
nsis_attempts=3
nsis_retry_wait=15
while (not installer_created) and (nsis_attempts > 0):
installer_created=False
nsis_attempts=3
nsis_retry_wait=15
while (not installer_created) and (nsis_attempts > 0):
try:
nsis_attempts-=1;
self.run_command('"' + NSIS_path + '" /V2 ' + self.dst_path_of(tempfile))
@ -794,21 +816,8 @@ class Windows_i686_Manifest(ViewerManifest):
else:
print >> sys.stderr, "Maximum nsis attempts exceeded; giving up"
raise
# self.remove(self.dst_path_of(tempfile))
else:
installer_file = "Phoenix-%(app_name)s-%(version_dashes)s_Setup.msi" % substitution_strings
createMSI = "installers/windows_x64/build.bat"
createMSI = self.dst_path_of( "../../../indra/newview/" + createMSI)
settingsFile = "settings_%s_v4.xml" % self.app_name()
# self.remove(self.dst_path_of(tempfile))
substitution_strings['installer_file'] = installer_file
channelSuffix = self.channel().replace( CHANNEL_VENDOR_BASE, "" ).strip()
self.run_command('"' + createMSI + '" ' + self.dst_path_of( "" ) +
" " + self.channel() + " " + substitution_strings[ 'version' ] +
" " + settingsFile + " " + installer_file[:-4] + " " + " ".join( substitution_strings[ 'version' ].split(".") ) +
" " + self.args['upgradecodes'].split(",")[0] + " " + self.args['upgradecodes'].split(",")[1] + " " + channelSuffix )
self.fs_sign_win_installer( substitution_strings ) # <FS:ND/> Sign files, step two. Sign installer.
self.fs_save_windows_symbols( substitution_strings )