@@ -45,8 +45,8 @@ Var ShowLastUsed
45
45
!ifndef FILES_ROOT
46
46
!define LIGHTBUILD ; enable LIGHTBUILD for nightly
47
47
!define FILES_ROOT " Install files builder/output"
48
- !define SERVER_FILES_ROOT " Install files builder/output/server"
49
- !define FILES_MODULE_SDK " Install files builder/output/development/publicsdk"
48
+ !define SERVER_FILES_ROOT " Install files builder/output/MTA San Andreas/ server"
49
+ !define FILES_MODULE_SDK " Install files builder/output/MTA San Andreas/ development/publicsdk"
50
50
!define INSTALL_OUTPUT " mtasa-${0.0.0}-unstable-00000-0-000-nsis.exe"
51
51
!define PRODUCT_VERSION " v${0.0.0}-unstable-00000-0-000"
52
52
!define REVISION " 0"
@@ -602,9 +602,9 @@ DontInstallRedistVC12:
602
602
!insertmacro GetMD5 $GTA_DIR \$1 $ExeMD5
603
603
DetailPrint " $1 successfully detected ($ExeMD5)"
604
604
${Switch} $ExeMD5
605
- ${Case} " 0fd315d1af41e26e536a78b4d4556488" # EU 3.00 Steam
606
- ${Case} " 2ed36a3cee7b77da86a343838e3516b6" # EU 3.01 Steam (2014 Nov update)
607
- ${Case} " 5bfd4dd83989a8264de4b8e771f237fd" # EU 3.02 Steam (2014 Dec update)
605
+ ${Case} " 0fd315d1af41e26e536a78b4d4556488" # EU 3.00 Steam 2007-12-04 11:50:50 5697536
606
+ ${Case} " 2ed36a3cee7b77da86a343838e3516b6" # EU 3.01 Steam (2014 Nov update) 2014-10-14 21:58:05 5971456
607
+ ${Case} " 5bfd4dd83989a8264de4b8e771f237fd" # EU 3.02 Steam (2014 Dec update) 2014-12-01 20:43:21 5971456
608
608
# Copy gta-sa.exe to gta_sa.exe and commence patching process
609
609
CopyFiles " $GTA_DIR\$1" " $GTA_DIR\gta_sa.exe.bak"
610
610
Call InstallPatch
@@ -624,6 +624,24 @@ DontInstallRedistVC12:
624
624
MessageBox MB_ICONSTOP " $(MSGBOX_INVALID_GTASA)"
625
625
CompletePatchProc:
626
626
627
+ # ############################################################
628
+ # Fix missing or incorrect VS2013 redist files
629
+ SetOutPath $WINDIR \SysWOW64
630
+ Push $WINDIR \SysWOW64\msvcp120.dll
631
+ Call IsDll32Bit
632
+ Pop $0
633
+ ${If} $0 != 1
634
+ File " ${FILES_ROOT}\MTA San Andreas\redist\msvcp120.dll"
635
+ ${EndIf}
636
+
637
+ Push $WINDIR \SysWOW64\msvcr120.dll
638
+ Call IsDll32Bit
639
+ Pop $0
640
+ ${If} $0 != 1
641
+ File " ${FILES_ROOT}\MTA San Andreas\redist\msvcr120.dll"
642
+ ${EndIf}
643
+ # ############################################################
644
+
627
645
SetOutPath " $INSTDIR\MTA"
628
646
SetOverwrite on
629
647
@@ -1727,6 +1745,32 @@ Function RemoveVirtualStore
1727
1745
FunctionEnd
1728
1746
1729
1747
1748
+ ; ****************************************************************
1749
+ ;
1750
+ ; Returns 1 if file exists and is 32 bit.
1751
+ ;
1752
+ ; ****************************************************************
1753
+ Function IsDll32Bit
1754
+ Pop $3
1755
+ StrCpy $2 " "
1756
+ ClearErrors
1757
+ FileOpen $0 $3 r
1758
+ IfErrors done
1759
+ FileSeek $0 60 ; IMAGE_DOS_HEADER->e_lfanew
1760
+ FileReadWord $0 $1
1761
+ FileSeek $0 $1 ; IMAGE_NT_HEADERS
1762
+ FileSeek $0 4 CUR ; IMAGE_FILE_HEADER->Machine
1763
+ FileReadWord $0 $2 ; $2 = Machine
1764
+ FileClose $0
1765
+ done:
1766
+ StrCpy $1 " 0"
1767
+ ${If} $2 == 332 ; 0x014c IMAGE_FILE_MACHINE_I386
1768
+ StrCpy $1 " 1"
1769
+ ${EndIf}
1770
+ Push $1
1771
+ FunctionEnd
1772
+
1773
+
1730
1774
; ****************************************************************
1731
1775
;
1732
1776
; Determine if install/upgrade this version/previous version
0 commit comments