This commit is contained in:
Jane
2024-07-16 15:39:04 +08:00
parent 31e21120b3
commit 8f4ec86367
1534 changed files with 968190 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
${SegmentFile}
;=== START INTEGRITY CHECK 1.1 Var
Var bolCustomIntegrityCheckStartUnsupported
Var strCustomIntegrityCheckVersion
;=== END INTEGRITY CHECK
!include WinMessages.nsh
${Segment.OnInit}
;=== START INTEGRITY CHECK 1.1 OnInit
;Check for improper install/upgrade without running the PA.c Installer which can cause issues
;Designed to not require ReadINIStrWithDefault which is not included in the PA.c Launcher code
${If} ${FileExists} "$EXEDIR\App\AppInfo\appinfo.ini"
${If} ${FileExists} "$EXEDIR\App\AppInfo\pac_installer_log.ini"
ReadINIStr $R0 "$EXEDIR\App\AppInfo\pac_installer_log.ini" "PortableApps.comInstaller" "Info2"
${If} $R0 == "This file was generated by the PortableApps.com Installer wizard and modified by the official PortableApps.com Installer TM Rare Ideas, LLC as the app was installed."
StrCpy $R1 "true"
${Else}
StrCpy $R1 "false"
${EndIf}
${Else}
StrCpy $R1 "false"
${EndIf}
${Else}
StrCpy $R1 "true"
${EndIf}
${If} $R1 == "false"
;Upgrade or install sans the PortableApps.com Installer which can cause compatibility issues
ClearErrors
ReadINIStr $0 "$EXEDIR\App\AppInfo\appinfo.ini" "Version" "PackageVersion"
${If} ${Errors}
${OrIf} $0 == ""
StrCpy $0 "0.0.0.1"
ClearErrors
${EndIf}
ClearErrors
ReadINIStr $1 "$EXEDIR\Data\settings\${AppID}Settings.ini" "${AppID}Settings" "InvalidPackageWarningShown"
${If} ${Errors}
${OrIf} $1 == ""
StrCpy $1 "0.0.0.0"
ClearErrors
${EndIf}
${VersionCompare} $0 $1 $2
${If} $2 == 1
MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON2 `Integrity Failure Warning: ${NamePortable} was installed or upgraded without using its installer and some critical files may have been modified. This could cause data loss, personal data left behind on a shared PC, functionality issues, and/or may be a violation of the application's license. Neither the application publisher nor PortableApps.com will be responsible for any issues you encounter.$\r$\n$\r$\nWould you like to start ${NamePortable} in its current unsupported state?` IDYES CustomIntegrityCheckGotoStartAnyway IDNO CustomIntegrityCheckGotoDownloadQuestion
CustomIntegrityCheckGotoDownloadQuestion:
;Check to ensure we have a valid homepage before asking the user
StrCpy $R0 ""
${If} ${FileExists} "$EXEDIR\App\AppInfo\appinfo.ini"
ReadINIStr $R0 "$EXEDIR\App\AppInfo\appinfo.ini" "Details" "Homepage"
${EndIf}
${If} $R0 == ""
Abort
${Else}
StrCpy $R1 $R0 4
${If} $R1 != "http"
${AndIf} $R1 != "HTTP"
StrCpy $R0 "http://$R0"
${EndIf}
${EndIf}
MessageBox MB_YESNO|MB_ICONQUESTION|MB_DEFBUTTON1 `Would you like to visit the ${NamePortable} homepage to download the app and upgrade your current install?` IDYES CustomIntegrityCheckGotoURL IDNO CustomIntegrityCheckGotoAbort
CustomIntegrityCheckGotoURL:
ExecShell "open" $R0
Abort
CustomIntegrityCheckGotoAbort:
Abort
CustomIntegrityCheckGotoStartAnyway:
StrCpy $bolCustomIntegrityCheckStartUnsupported true
StrCpy $strCustomIntegrityCheckVersion $0
${EndIf}
${EndIf}
;=== END INTEGRITY CHECK
!macroend
${SegmentInit}
;Ensure we have a proper Documents path
ExpandEnvStrings $1 "%PortableApps.comDocuments%"
${If} $1 == ""
${OrIfNot} ${FileExists} "$1\*.*"
${GetParent} $EXEDIR $3
${GetParent} $3 $1
${If} $1 == "" ;Be sure we didn't just GetParent on Root
StrCpy $1 $3
${EndIf}
${If} ${FileExists} "$1\Documents\*.*"
StrCpy $2 "$1\Documents"
${Else}
${GetRoot} $EXEDIR $1
${If} ${FileExists} "$1\Documents\*.*"
StrCpy $2 "$1\Documents"
${Else}
StrCpy $2 "$1"
${EndIf}
${EndIf}
System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("PortableApps.comDocuments", "$2").r0'
${EndIf}
!macroend
${SegmentPre}
ReadEnvStr $0 "JAVA_HOME"
${WordReplace} $0 "\" "/" "+" $1
System::Call 'Kernel32::SetEnvironmentVariable(t, t) i("JAVA_HOME_FORWARDSLASH", "$1").r0'
!macroend
${SegmentPrePrimary}
;=== START INTEGRITY CHECK 1.1 PrePrimary
${If} $bolCustomIntegrityCheckStartUnsupported == true
WriteINIStr "$EXEDIR\Data\settings\${AppID}Settings.ini" "${AppID}Settings" "InvalidPackageWarningShown" $strCustomIntegrityCheckVersion
${EndIf}
;=== END INTEGRITY CHECK
;Load app ttf fonts
FindFirst $0 $1 "$EXEDIR\App\fonts\*.ttf"
${DoWhile} $1 != ""
System::Call "gdi32::AddFontResource(t'$EXEDIR\App\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Load app otf fonts
FindFirst $0 $1 "$EXEDIR\App\fonts\*.otf"
${DoWhile} $1 != ""
System::Call "gdi32::AddFontResource(t'$EXEDIR\App\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Load user ttf fonts
FindFirst $0 $1 "$EXEDIR\Data\fonts\*.ttf"
${DoWhile} $1 != ""
System::Call "gdi32::AddFontResource(t'$EXEDIR\Data\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Load user otf fonts
FindFirst $0 $1 "$EXEDIR\Data\fonts\*.otf"
${DoWhile} $1 != ""
System::Call "gdi32::AddFontResource(t'$EXEDIR\Data\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Let all running apps know
SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=1
!macroend
${SegmentPostPrimary}
;Remove app ttf fonts
FindFirst $0 $1 "$EXEDIR\App\fonts\*.ttf"
${DoWhile} $1 != ""
System::Call "gdi32::RemoveFontResource(t'$EXEDIR\App\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Remove app otf fonts
FindFirst $0 $1 "$EXEDIR\App\fonts\*.otf"
${DoWhile} $1 != ""
System::Call "gdi32::RemoveFontResource(t'$EXEDIR\App\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Remove user ttf fonts
FindFirst $0 $1 "$EXEDIR\Data\fonts\*.ttf"
${DoWhile} $1 != ""
System::Call "gdi32::RemoveFontResource(t'$EXEDIR\Data\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Remove user otf fonts
FindFirst $0 $1 "$EXEDIR\Data\fonts\*.otf"
${DoWhile} $1 != ""
System::Call "gdi32::RemoveFontResource(t'$EXEDIR\Data\fonts\$1')i .r2"
FindNext $0 $1
${Loop}
FindClose $0
;Let all running apps know
SendMessage ${HWND_BROADCAST} ${WM_FONTCHANGE} 0 0 /TIMEOUT=1
!macroend

View File

@@ -0,0 +1,126 @@
[Launch]
ProgramExecutable=libreoffice\program\soffice.exe
MinOS=7
DirectoryMoveOK=yes
SupportsUNC=yes
[Activate]
Java=find
XML=true
Registry=true
[Environment]
PATH=%PAL:AppDir%\libreoffice\program;%PATH%
;[Language]
;Base=%PortableApps.comLocaleglibc%
;CheckIfExists=%PAL:AppDir%\libreoffice\readmes\readme_%PAL:LanguageCustom%.txt
;DefaultIfNotExists=en-US
;[LanguageFile]
;Type=XML text
;File=%PAL:DataDir%\settings\user\registrymodifications.xcu
;XPath=//prop[normalize-space(@oor:name)="UILocale"]/value
;[LanguageStrings]
;en_GB=en-GB
;en_US=en-US
;pt_BR=pt-BR
;zh_CN=zh-CN
;zh_TW=zh-TW
[FileWrite1]
Type=ini
File=%PAL:AppDir%\libreoffice\program\bootstrap.ini
Section=ErrorReport
Key=ErrorReportServer
Value=
[FileWrite2]
Type=ini
File=%PAL:AppDir%\libreoffice\program\bootstrap.ini
Section=Bootstrap
Key=UserInstallation
Value=$ORIGIN/../../../Data/settings
[FileWrite3]
File=%PAL:DataDir%\settings\user\config\javasettings_Windows_x86.xml
Type=Replace
Find=%PAL:LastDrive%%PAL:LastPackagePartialDir:ForwardSlash%/
Replace=%PAL:Drive%%PAL:PackagePartialDir:ForwardSlash%/
[FileWrite4]
File=%PAL:DataDir%\settings\user\config\javasettings_Windows_x86.xml
Type=Replace
Find=%PAL:LastPortableAppsBaseDir:ForwardSlash%/
Replace=%PAL:LastPortableAppsBaseDir:ForwardSlash%/
[FileWrite5]
File=%PAL:DataDir%\settings\user\config\javasettings_Windows_x86.xml
Type=XML text
XPath=/java/javaInfo/location
Value=file:///%JAVA_HOME_FORWARDSLASH%
[FileWrite6]
File=%PAL:DataDir%\settings\user\registrymodifications.xcu
Type=XML text
XPath=//item[normalize-space(@oor:path)="/org.openoffice.Office.Paths/Paths/org.openoffice.Office.Paths:NamedPath['Temp']"]/prop/value
Value=file:///%TEMP:ForwardSlash%/temp
[FileWrite7]
File=%PAL:DataDir%\settings\user\registrymodifications.xcu
Type=Replace
Find=DEFAULT--WORK--PATH
Replace=file:///%PortableApps.comDocuments:ForwardSlash%
[FileWrite8]
File=%PAL:DataDir%\settings\user\registrymodifications.xcu
Type=Replace
Find=file:///%PAL:LastDrive%%PAL:LastPackagePartialDir:ForwardSlash%
Replace=file:///%PAL:Drive%%PAL:PackagePartialDir:ForwardSlash%
[FileWrite9]
File=%PAL:DataDir%\settings\user\registrymodifications.xcu
Type=Replace
Find=file:///PAL:LastPortableAppsBaseDir:ForwardSlash%
Replace=file:///PAL:PortableAppsBaseDir:ForwardSlash%
[FileWrite10]
File=%PAL:DataDir%\settings\user\registrymodifications.xcu
Type=Replace
Find=file:///%PAL:LastDrive%/
Replace=file:///%PAL:Drive%/
[FileWrite11]
Type=ini
File=%PAL:AppDir%\libreoffice\program\setup.ini
Section=Bootstrap
Key=BASISINSTALLLOCATION
Value=%PAL:AppDir%\libreoffice\
[FileWrite12]
Type=ini
File=%PAL:AppDir%\libreoffice\program\setup.ini
Section=Bootstrap
Key=INSTALLLOCATION
Value=%PAL:AppDir%\libreoffice\
[FileWrite13]
Type=ini
File=%PAL:AppDir%\libreoffice\program\setup.ini
Section=Bootstrap
Key=OFFICEINSTALLLOCATION
Value=%PAL:AppDir%\libreoffice\
[FileWrite14]
Type=ini
File=%PAL:AppDir%\libreoffice\program\setup.ini
Section=Bootstrap
Key=UREINSTALLLOCATION
Value=%PAL:AppDir%\libreoffice\URE\\
;[FileWrite13]
;File=%PAL:DataDir%\settings\user\registrymodifications.xcu
;Type=XML text
;XPath=//prop[normalize-space(@oor:name)="UILocale"]/value
;Value=%PAL:LanguageCustom%