Installer rework WIP
@@ -54,10 +54,10 @@ if(WINDOWS)
|
||||
libhunspell.dll
|
||||
)
|
||||
|
||||
if(USE_TCMALLOC)
|
||||
if(NOT DISABLE_TCMALLOC)
|
||||
set(debug_files ${debug_files} libtcmalloc_minimal-debug.dll)
|
||||
set(release_files ${release_files} libtcmalloc_minimal.dll)
|
||||
endif(USE_TCMALLOC)
|
||||
endif(NOT DISABLE_TCMALLOC)
|
||||
|
||||
if (FMODSTUDIO)
|
||||
if(WORD_SIZE STREQUAL 64)
|
||||
|
||||
@@ -1461,7 +1461,7 @@ if (WINDOWS)
|
||||
# In the meantime, if you have any ideas on how to easily maintain one list, either here or in viewer_manifest.py
|
||||
# and have the build deps get tracked *please* tell me about it.
|
||||
|
||||
if(USE_TCMALLOC)
|
||||
if(NOT DISABLE_TCMALLOC)
|
||||
# Configure a var for tcmalloc location, if used.
|
||||
# Note the need to specify multiple names explicitly.
|
||||
set(GOOGLE_PERF_TOOLS_SOURCE
|
||||
@@ -1469,7 +1469,7 @@ if (WINDOWS)
|
||||
${SHARED_LIB_STAGING_DIR}/RelWithDebInfo/libtcmalloc_minimal.dll
|
||||
${SHARED_LIB_STAGING_DIR}/Debug/libtcmalloc_minimal-debug.dll
|
||||
)
|
||||
endif(USE_TCMALLOC)
|
||||
endif(NOT DISABLE_TCMALLOC)
|
||||
|
||||
set(COPY_INPUT_DEPENDENCIES
|
||||
# The following commented dependencies are determined at variably at build time. Can't do this here.
|
||||
|
||||
@@ -433,6 +433,8 @@ NVIDIA GTX 750 .*NVIDIA .*GTX *75.* 3 1
|
||||
NVIDIA GTX 760 .*NVIDIA .*GTX *76.* 3 1
|
||||
NVIDIA GTX 770 .*NVIDIA .*GTX *77.* 3 1
|
||||
NVIDIA GTX 780 .*NVIDIA .*GTX *78.* 3 1
|
||||
NVIDIA GTX 970 .*NVIDIA .*GTX *97.* 3 1
|
||||
NVIDIA GTX 980 .*NVIDIA .*GTX *98.* 3 1
|
||||
NVIDIA GTX TITAN .*NVIDIA .*GTX *TITAN.* 3 1
|
||||
NVIDIA GT 7xxM .*NVIDIA .*GT *7.* 3 1
|
||||
NVIDIA C51 .*NVIDIA .*C51.* 0 1
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
The language files in this directory are Unicode (Little-Endian) format, also known as UTF-16 LE.
|
||||
|
||||
This is the format required for NSIS Unicode. See http://www.scratchpaper.com/ for details.
|
||||
|
||||
James Cook
|
||||
September 2008
|
||||
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 139 KiB |
|
Before Width: | Height: | Size: 256 KiB |
|
Before Width: | Height: | Size: 135 KiB |
BIN
indra/newview/installers/windows/install_welcome.bmp
Normal file
|
After Width: | Height: | Size: 51 KiB |
56
indra/newview/installers/windows/lang_da.nsi
Normal file
@@ -0,0 +1,56 @@
|
||||
; First is default
|
||||
!insertmacro MUI_LANGUAGE "Danish"
|
||||
|
||||
; Language string
|
||||
LangString LanguageCode ${LANG_DANISH} "da"
|
||||
|
||||
; Language selection dialog
|
||||
LangString SelectInstallerLanguage ${LANG_DANISH} "Vælg venligst sprog til installation"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_DANISH} "Installationsmappe"
|
||||
LangString DirectoryChooseUpdate ${LANG_DANISH} "Vælg ${APPNAME} mappe til opdatering til version ${VERSION_LONG}.(XXX):"
|
||||
LangString DirectoryChooseSetup ${LANG_DANISH} "Vælg mappe hvor ${APPNAME} skal installeres:"
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_DANISH} "Kunne ikke finde programmet '$INSTPROG'. Baggrundsopdatering fejlede."
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_DANISH} "Checker Windows version..."
|
||||
LangString CheckWindowsVersionMB ${LANG_DANISH} '${APPNAME} supporterer kun Windows XP.$\n$\nForsøg på installation på Windows $R0 kan resultere i nedbrud og datatab.$\n$\n'
|
||||
LangString CheckWindowsServPackMB ${LANG_DANISH} "It is recomended to run ${APPNAME} on the latest service pack for your operating system.$\nThis will help with performance and stability of the program."
|
||||
LangString UseLatestServPackDP ${LANG_DANISH} "Please use Windows Update to install the latest Service Pack."
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_DANISH} "Checker rettigheder til installation..."
|
||||
LangString CheckAdministratorInstMB ${LANG_DANISH} 'Det ser ud til at du benytter en konto med begrænsninger.$\nDu skal have "administrator" rettigheder for at installere ${APPNAME}.'
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_DANISH} "Checker rettigheder til at afinstallere..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_DANISH} 'Det ser ud til at du benytter en konto med begrænsninger.$\nDu skal have "administrator" rettigheder for at afinstallere ${APPNAME}.'
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_DANISH} "Det ser ud til at ${APPNAME} ${VERSION_LONG} allerede er installeret.$\n$\nØnsker du at installere igen?"
|
||||
|
||||
; checkcpuflags
|
||||
LangString MissingSSE2 ${LANG_DANISH} "This machine may not have a CPU with SSE2 support, which is required to run ${APPNAME} ${VERSION_LONG}. Do you want to continue?"
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_DANISH} "Venter på at Alchemy skal lukke ned..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_DANISH} "Alchemy kan ikke installeres mens programmet kører.$\n$\nAfslut programmet for at fortsætte.$\nVælg ANNULÉR for at afbryde installation."
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_DANISH} "Venter på at Alchemy skal lukke ned..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_DANISH} "Alchemy kan ikke afinstalleres mens programmet kører.$\n$\nAfslut programmet for at fortsætte.$\nVælg ANNULÉR for at afbryde installation."
|
||||
|
||||
; CheckNetworkConnection
|
||||
LangString CheckNetworkConnectionDP ${LANG_DANISH} "Checker netværksforbindelse..."
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_DANISH} "Sletter cache filer i dokument mappen"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_DANISH} "Der er stadig filer i ${APPNAME} program mappen.$\n$\nDette er sandsynligvis filer du har oprettet eller flyttet til :$\n$INSTDIR$\n$\nØnsker du at fjerne disse filer?"
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_DANISH} "Dette vil afinstallere ${APPNAME} ${VERSION_LONG} fra dit system."
|
||||
56
indra/newview/installers/windows/lang_pl.nsi
Normal file
@@ -0,0 +1,56 @@
|
||||
; First is default
|
||||
!insertmacro MUI_LANGUAGE "Polish"
|
||||
|
||||
; Language string
|
||||
LangString LanguageCode ${LANG_POLISH} "pl"
|
||||
|
||||
; Language selection dialog
|
||||
LangString SelectInstallerLanguage ${LANG_POLISH} "Proszę wybrać język instalatora"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_POLISH} "Katalog instalacji"
|
||||
LangString DirectoryChooseUpdate ${LANG_POLISH} "Wybierz katalog instalacji ${APPNAME} w celu aktualizacji wersji ${VERSION_LONG}.(XXX):"
|
||||
LangString DirectoryChooseSetup ${LANG_POLISH} "Wybierz katalog instalacji ${APPNAME} w:"
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_POLISH} "Nie można odnaleźć programu '$INSTPROG'. Cicha aktualizacja zakończyła się niepowodzeniem."
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_POLISH} "Sprawdzanie wersji Windows..."
|
||||
LangString CheckWindowsVersionMB ${LANG_POLISH} '${APPNAME} obsługuje tylko Windows XP.$\n$\nPróba zainstalowania na Windows $R0 może spowodować awarie i utratę danych.$\n$\n'
|
||||
LangString CheckWindowsServPackMB ${LANG_POLISH} "Zalecane jest uruchamianie ${APPNAME} z najnowszym dostępnym Service Packiem zainstalowanym w systemie.$\nPomaga on w podniesieniu wydajności i stabilności programu."
|
||||
LangString UseLatestServPackDP ${LANG_POLISH} "Użyj usługi Windows Update, aby zainstalować najnowszy Service Pack."
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_POLISH} "Sprawdzanie zezwolenia na instalację..."
|
||||
LangString CheckAdministratorInstMB ${LANG_POLISH} 'Używasz "ograniczonego" konta.$\nMusisz być zalogowany jako "administrator" aby zainstalować ${APPNAME}.'
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_POLISH} "Sprawdzanie zezwolenia na odinstalowanie..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_POLISH} 'Używasz "ograniczonego" konta.$\nMusisz być być zalogowany jako "administrator" aby zainstalować ${APPNAME}.'
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_POLISH} "${APPNAME} ${VERSION_LONG} jest już zainstalowane.$\n$\nCzy chcesz zainstalować ${APPNAME} ponownie?"
|
||||
|
||||
; checkcpuflags
|
||||
LangString MissingSSE2 ${LANG_POLISH} "Ten komputer może nie mieć procesora z obsługą SSE2, który jest wymagany aby uruchomić ${APPNAME} w wersji ${VERSION_LONG}. Chcesz kontynuować?"
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_POLISH} "Oczekiwanie na zamknięcie Alchemy..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_POLISH} "Alchemy nie może zostać zainstalowane, ponieważ jest już włączone.$\n$\nZakończ swoje działania i wybierz OK aby zamknąć Alchemy i kontynuować.$\nWybierz CANCEL aby anulować instalację."
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_POLISH} "Oczekiwanie na zamknięcie Alchemy..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_POLISH} "Alchemy nie może zostać zainstalowane, ponieważ jest już włączone.$\n$\nZakończ swoje działania i wybierz OK aby zamknąć Alchemy i kontynuować.$\nWybierz CANCEL aby anulować."
|
||||
|
||||
; CheckNetworkConnection
|
||||
LangString CheckNetworkConnectionDP ${LANG_POLISH} "Sprawdzanie połączenia sieciowego..."
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_POLISH} "Kasowanie plików pamięci podręcznej (cache) w folderze Documents and Settings"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_POLISH} "Nadal istnieją pliki w katalogu instalacyjnym ${APPNAME}.$\n$\nMożliwe, że są to pliki, które stworzyłeś/stworzyłaś lub przeniosłeś/przeniosłaś do:$\n$INSTDIR$\n$\nCzy chcesz je usunąć?"
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_POLISH} "To spowoduje odinstalowanie ${APPNAME} ${VERSION_LONG} z Twojego systemu."
|
||||
56
indra/newview/installers/windows/lang_ru.nsi
Normal file
@@ -0,0 +1,56 @@
|
||||
; First is default
|
||||
!insertmacro MUI_LANGUAGE "Russian"
|
||||
|
||||
; Language string
|
||||
LangString LanguageCode ${LANG_RUSSIAN} "ru"
|
||||
|
||||
; Language selection dialog
|
||||
LangString SelectInstallerLanguage ${LANG_RUSSIAN} "Выберите язык программы установки"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_RUSSIAN} "Каталог установки"
|
||||
LangString DirectoryChooseUpdate ${LANG_RUSSIAN} "Выберите каталог ${APPNAME} для обновления до версии ${VERSION_LONG}.(XXX):"
|
||||
LangString DirectoryChooseSetup ${LANG_RUSSIAN} "Выберите каталог для установки ${APPNAME}:"
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_RUSSIAN} "Не удалось найти программу «$INSTPROG». Автоматическое обновление не выполнено."
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_RUSSIAN} "Проверка версии Windows..."
|
||||
LangString CheckWindowsVersionMB ${LANG_RUSSIAN} '${APPNAME} может работать только в Windows XP.$\n$\nПопытка установки в Windows $R0 может привести к сбою и потере данных.$\n$\n'
|
||||
LangString CheckWindowsServPackMB ${LANG_RUSSIAN} "It is recomended to run ${APPNAME} on the latest service pack for your operating system.$\nThis will help with performance and stability of the program."
|
||||
LangString UseLatestServPackDP ${LANG_RUSSIAN} "Please use Windows Update to install the latest Service Pack."
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_RUSSIAN} "Проверка разрешений на установку..."
|
||||
LangString CheckAdministratorInstMB ${LANG_RUSSIAN} 'Вероятно, у вас ограниченный аккаунт.$\nДля установки ${APPNAME} необходимы права администратора.'
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_RUSSIAN} "Проверка разрешений на удаление..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_RUSSIAN} 'Вероятно, у вас ограниченный аккаунт.$\nДля удаления ${APPNAME} необходимы права администратора.'
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_RUSSIAN} "Вероятно, версия ${APPNAME} ${VERSION_LONG} уже установлена.$\n$\nУстановить ее снова?"
|
||||
|
||||
; checkcpuflags
|
||||
LangString MissingSSE2 ${LANG_RUSSIAN} "Возможно, на этом компьютере нет ЦП с поддержкой SSE2, которая необходима для работы ${APPNAME} ${VERSION_LONG}. Продолжить?"
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_RUSSIAN} "Ожидаю завершения работы Alchemy..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_RUSSIAN} "Alchemy уже работает, выполнить установку невозможно.$\n$\nЗавершите текущую операцию и нажмите кнопку «OK», чтобы закрыть Alchemy и продолжить установку.$\nНажмите кнопку «ОТМЕНА» для отказа от установки."
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_RUSSIAN} "Ожидаю завершения работы Alchemy..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_RUSSIAN} "Alchemy уже работает, выполнить удаление невозможно.$\n$\nЗавершите текущую операцию и нажмите кнопку «OK», чтобы закрыть Alchemy и продолжить удаление.$\nНажмите кнопку «ОТМЕНА» для отказа от удаления."
|
||||
|
||||
; CheckNetworkConnection
|
||||
LangString CheckNetworkConnectionDP ${LANG_RUSSIAN} "Проверка подключения к сети..."
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_RUSSIAN} "Удаление файлов кэша из папки «Documents and Settings»"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_RUSSIAN} "В каталоге программы ${APPNAME} остались файлы.$\n$\nВероятно, это файлы, созданные или перемещенные вами в $\n$INSTDIR$\n$\nУдалить их?"
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_RUSSIAN} "Программа ${APPNAME} ${VERSION_LONG} будет удалена из вашей системы."
|
||||
56
indra/newview/installers/windows/lang_tr.nsi
Normal file
@@ -0,0 +1,56 @@
|
||||
; First is default
|
||||
!insertmacro MUI_LANGUAGE "Turkish"
|
||||
|
||||
; Language string
|
||||
LangString LanguageCode ${LANG_TURKISH} "tr"
|
||||
|
||||
; Language selection dialog
|
||||
LangString SelectInstallerLanguage ${LANG_TURKISH} "Lütfen yükleyicinin dilini seçin"
|
||||
|
||||
; installation directory text
|
||||
LangString DirectoryChooseTitle ${LANG_TURKISH} "Yükleme Dizini"
|
||||
LangString DirectoryChooseUpdate ${LANG_TURKISH} "${VERSION_LONG}.(XXX) sürümüne güncelleştirme yapmak için ${APPNAME} dizinini seçin:"
|
||||
LangString DirectoryChooseSetup ${LANG_TURKISH} "${APPNAME}'ın yükleneceği dizini seçin:"
|
||||
|
||||
; CheckStartupParams message box
|
||||
LangString CheckStartupParamsMB ${LANG_TURKISH} "'$INSTPROG' programı bulunamadı. Sessiz güncelleştirme başarılamadı."
|
||||
|
||||
; check windows version
|
||||
LangString CheckWindowsVersionDP ${LANG_TURKISH} "Windows sürümü kontrol ediliyor..."
|
||||
LangString CheckWindowsVersionMB ${LANG_TURKISH} "${APPNAME} sadece Windows XP'i destekler.$\n$\nWindows $R0 üzerine yüklemeye çalışmak sistem çökmelerine ve veri kaybına neden olabilir.$\n$\n"
|
||||
LangString CheckWindowsServPackMB ${LANG_TURKISH} "It is recomended to run ${APPNAME} on the latest service pack for your operating system.$\nThis will help with performance and stability of the program."
|
||||
LangString UseLatestServPackDP ${LANG_TURKISH} "Please use Windows Update to install the latest Service Pack."
|
||||
|
||||
; checkifadministrator function (install)
|
||||
LangString CheckAdministratorInstDP ${LANG_TURKISH} "Yükleme izni kontrol ediliyor..."
|
||||
LangString CheckAdministratorInstMB ${LANG_TURKISH} "'Sınırlı' bir hesap kullanıyor görünüyorsunuz.$\n${APPNAME}'ı yüklemek için bir 'yönetici' olmalısınız."
|
||||
|
||||
; checkifadministrator function (uninstall)
|
||||
LangString CheckAdministratorUnInstDP ${LANG_TURKISH} "Kaldırma izni kontrol ediliyor..."
|
||||
LangString CheckAdministratorUnInstMB ${LANG_TURKISH} "'Sınırlı' bir hesap kullanıyor görünüyorsunuz.$\n${APPNAME}'ı kaldırmak için bir 'yönetici' olmalısınız."
|
||||
|
||||
; checkifalreadycurrent
|
||||
LangString CheckIfCurrentMB ${LANG_TURKISH} "${APPNAME} ${VERSION_LONG} zaten yüklü.$\n$\nTekrar yüklemek ister misiniz?"
|
||||
|
||||
; checkcpuflags
|
||||
LangString MissingSSE2 ${LANG_TURKISH} "Bu makinede SSE2 desteğine sahip bir CPU bulunmayabilir, ${APPNAME} ${VERSION_LONG} çalıştırmak için bu gereklidir. Devam etmek istiyor musunuz?"
|
||||
|
||||
; closesecondlife function (install)
|
||||
LangString CloseSecondLifeInstDP ${LANG_TURKISH} "Alchemy'ın kapatılması bekleniyor..."
|
||||
LangString CloseSecondLifeInstMB ${LANG_TURKISH} "Alchemy zaten çalışırken kapatılamaz.$\n$\nYaptığınız işi bitirdikten sonra Alchemy'ı kapatmak ve devam etmek için Tamam seçimini yapın.$\nYüklemeyi iptal etmek için İPTAL seçimini yapın."
|
||||
|
||||
; closesecondlife function (uninstall)
|
||||
LangString CloseSecondLifeUnInstDP ${LANG_TURKISH} "Alchemy'ın kapatılması bekleniyor..."
|
||||
LangString CloseSecondLifeUnInstMB ${LANG_TURKISH} "Alchemy zaten çalışırken kaldırılamaz.$\n$\nYaptığınız işi bitirdikten sonra Alchemy'ı kapatmak ve devam etmek için Tamam seçimini yapın.$\nİptal etmek için İPTAL seçimini yapın."
|
||||
|
||||
; CheckNetworkConnection
|
||||
LangString CheckNetworkConnectionDP ${LANG_TURKISH} "Ağ bağlantısı kontrol ediliyor..."
|
||||
|
||||
; removecachefiles
|
||||
LangString RemoveCacheFilesDP ${LANG_TURKISH} "Belgeler ve Ayarlar klasöründeki önbellek dosyaları siliniyor"
|
||||
|
||||
; delete program files
|
||||
LangString DeleteProgramFilesMB ${LANG_TURKISH} "${APPNAME} program dizininizde hala dosyalar var.$\n$\nBunlar muhtemelen sizin oluşturduğunuz veya şuraya taşıdığınız dosyalar:$\n$INSTDIR$\n$\nBunları kaldırmak istiyor musunuz?"
|
||||
|
||||
; uninstall text
|
||||
LangString UninstallTextMsg ${LANG_TURKISH} "Bu adımla ${APPNAME} ${VERSION_LONG} sisteminizden kaldırılacaktır."
|
||||
|
Before Width: | Height: | Size: 256 KiB After Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 359 KiB |
|
Before Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 359 KiB |
|
Before Width: | Height: | Size: 254 KiB |
|
Before Width: | Height: | Size: 359 KiB |
BIN
indra/newview/installers/windows/uninstall_welcome.bmp
Normal file
|
After Width: | Height: | Size: 51 KiB |
@@ -43,7 +43,7 @@ viewer_dir = os.path.dirname(__file__)
|
||||
# Put it FIRST because some of our build hosts have an ancient install of
|
||||
# indra.util.llmanifest under their system Python!
|
||||
sys.path.insert(0, os.path.join(viewer_dir, os.pardir, "lib", "python"))
|
||||
from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError
|
||||
from indra.util.llmanifest import LLManifest, main, proper_windows_path, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError
|
||||
try:
|
||||
from llbase import llsd
|
||||
except ImportError:
|
||||
@@ -404,8 +404,28 @@ class WindowsManifest(ViewerManifest):
|
||||
prev = d
|
||||
|
||||
return result
|
||||
|
||||
def sign_command(self, *argv):
|
||||
return [
|
||||
"signtool.exe", "sign", "/v",
|
||||
"/n", self.args['signature'],
|
||||
"/p", os.environ['VIEWER_SIGNING_PWD'],
|
||||
"/d","%s" % self.channel(),
|
||||
"/t","http://timestamp.comodoca.com/authenticode"
|
||||
] + list(argv)
|
||||
|
||||
def sign(self, *argv):
|
||||
subprocess.check_call(self.sign_command(*argv))
|
||||
|
||||
def package_finish(self):
|
||||
if 'signature' in self.args and 'VIEWER_SIGNING_PWD' in os.environ:
|
||||
try:
|
||||
self.sign(self.args['configuration']+"\\"+self.final_exe())
|
||||
self.sign(self.args['configuration']+"\\SLPlugin.exe")
|
||||
self.sign(self.args['configuration']+"\\SLVoice.exe")
|
||||
except:
|
||||
print "Couldn't sign binaries. Tried to sign %s" % self.args['configuration'] + "\\" + self.final_exe()
|
||||
|
||||
# a standard map of strings for replacing in the templates
|
||||
substitution_strings = {
|
||||
'version' : '.'.join(self.args['version']),
|
||||
@@ -433,14 +453,19 @@ class WindowsManifest(ViewerManifest):
|
||||
substitution_strings['caption'] = self.app_name() + ' ${VERSION}'
|
||||
|
||||
inst_vars_template = """
|
||||
OutFile "%(installer_file)s"
|
||||
!define INSTNAME "%(app_name_oneword)s"
|
||||
!define SHORTCUT "%(app_name)s"
|
||||
!define INSTOUTFILE "%(installer_file)s"
|
||||
!define INSTEXE "%(final_exe)s"
|
||||
!define APPNAME "%(app_name)s"
|
||||
!define APPNAMEONEWORD "%(app_name_oneword)s"
|
||||
!define VERSION "%(version_short)s"
|
||||
!define VERSION_LONG "%(version)s"
|
||||
!define VERSION_DASHES "%(version_dashes)s"
|
||||
!define URLNAME "secondlife"
|
||||
Caption "%(caption)s"
|
||||
!define CAPTIONSTR "%(caption)s"
|
||||
!define VENDORSTR "Singularity Viewer Project"
|
||||
"""
|
||||
|
||||
tempfile = "secondlife_setup_tmp.nsi"
|
||||
tempfile = "singularity_setup_tmp.nsi"
|
||||
# the following replaces strings in the nsi template
|
||||
# it also does python-style % substitution
|
||||
self.replace_in("installers/windows/installer_template.nsi", tempfile, {
|
||||
@@ -448,7 +473,9 @@ class WindowsManifest(ViewerManifest):
|
||||
"%%SOURCE%%":self.get_src_prefix(),
|
||||
"%%INST_VARS%%":inst_vars_template % substitution_strings,
|
||||
"%%INSTALL_FILES%%":self.nsi_file_commands(True),
|
||||
"%%DELETE_FILES%%":self.nsi_file_commands(False)})
|
||||
"%%DELETE_FILES%%":self.nsi_file_commands(False),
|
||||
"%%WIN64_BIN_BUILD%%":"!define WIN64_BIN_BUILD 1" if self.is_win64() else "",
|
||||
})
|
||||
|
||||
# We use the Unicode version of NSIS, available from
|
||||
# http://www.scratchpaper.com/
|
||||
@@ -466,19 +493,12 @@ class WindowsManifest(ViewerManifest):
|
||||
|
||||
|
||||
# self.remove(self.dst_path_of(tempfile))
|
||||
# If we're on a build machine, sign the code using our Authenticode certificate. JC
|
||||
sign_py = os.path.expandvars("${SIGN}")
|
||||
if not sign_py or sign_py == "${SIGN}":
|
||||
sign_py = 'C:\\buildscripts\\code-signing\\sign.py'
|
||||
else:
|
||||
sign_py = sign_py.replace('\\', '\\\\\\\\')
|
||||
python = os.path.expandvars("${PYTHON}")
|
||||
if not python or python == "${PYTHON}":
|
||||
python = 'python'
|
||||
if os.path.exists(sign_py):
|
||||
self.run_command("%s %s %s" % (python, sign_py, self.dst_path_of(installer_file).replace('\\', '\\\\\\\\')))
|
||||
else:
|
||||
print "Skipping code signing,", sign_py, "does not exist"
|
||||
if 'signature' in self.args and 'VIEWER_SIGNING_PWD' in os.environ:
|
||||
try:
|
||||
self.sign(self.args['configuration'] + "\\" + substitution_strings['installer_file'])
|
||||
except:
|
||||
print "Couldn't sign windows installer. Tried to sign %s" % self.args['configuration'] + "\\" + substitution_strings['installer_file']
|
||||
|
||||
self.created_path(self.dst_path_of(installer_file))
|
||||
self.package_file = installer_file
|
||||
|
||||
|
||||