fix windows installer

This commit is contained in:
2025-01-08 15:54:39 +05:00
parent 3fe69b35df
commit 79af1f9411
8 changed files with 43 additions and 21 deletions

1
.gitignore vendored
View File

@@ -6,3 +6,4 @@ build/
chocolatey/kos32-gcc*.nupkg chocolatey/kos32-gcc*.nupkg
chocolatey/install.ps1 chocolatey/install.ps1
chocolatey/tools/install.ps1 chocolatey/tools/install.ps1
bat/builds.kolibrios.org

View File

@@ -26,7 +26,11 @@
wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH. wget для windows можно поискать в GnuWin32 например, 7z Нужно добавить в PATH.
Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Тулчейн по умолчанию устанавливается в папку `C:/MinGW/msys/1.0/home/autobuild/tools/win32`, но вы можете изменить путь добавив аргумент - путь установки(пустой - путь по умолчанию). Например:
```
install.bat Path
```
## Сборка установщиков ## Сборка установщиков

4
bat/cleanArchives.bat Normal file
View File

@@ -0,0 +1,4 @@
set TOOLCHAIN_DIR=%1
del /Q %TOOLCHAIN_DIR%\kos32-toolchain.7z
del /Q %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z

View File

@@ -0,0 +1,6 @@
set TOOLCHAIN_DIR=%1
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z -o%TOOLCHAIN_DIR%\win32\mingw32

View File

@@ -0,0 +1,5 @@
set TOOLCHAIN_DIR=%1
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR%

5
bat/updateLibraries.bat Normal file
View File

@@ -0,0 +1,5 @@
set TOOLCHAIN_DIR=%1
wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
move /y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* %TOOLCHAIN_DIR%\win32\mingw32\lib
rd /s /q builds.kolibrios.org

View File

@@ -1,4 +1,4 @@
@echo off rem@echo off
for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a" for /f %%a in ('echo prompt $E^| cmd') do set "ESC=%%a"
@@ -12,6 +12,7 @@ else (
set TOOLCHAIN_DIR=%1 set TOOLCHAIN_DIR=%1
) )
echo %TOOLCHAIN_DIR%
Call :print_msg Create the %TOOLCHAIN_DIR% folder... Call :print_msg Create the %TOOLCHAIN_DIR% folder...
@@ -20,14 +21,11 @@ mkdir %TOOLCHAIN_DIR%
Call :print_ok Successfully! Call :print_ok Successfully!
cd bat
call :print_msg Download the kos32-gcc toolchain... call :print_msg Download the kos32-gcc toolchain...
cd %TOOLCHAIN_DIR% downloadToolchain %TOOLCHAIN_DIR%
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/msys-kos32-5.4.0.7z -O %TOOLCHAIN_DIR%\kos32-toolchain.7z
7z x -y %TOOLCHAIN_DIR%\kos32-toolchain.7z -o%TOOLCHAIN_DIR%
Call :print_ok Successfully! Call :print_ok Successfully!
@@ -35,11 +33,7 @@ Call :print_ok Successfully!
Call :print_msg Downloading libraries... Call :print_msg Downloading libraries...
cd %TOOLCHAIN_DIR%\win32\mingw32 downloadLibraries.bat %TOOLCHAIN_DIR%
wget http://ftp.kolibrios.org/users/Serge/new/Toolchain/sdk-28-10-16.7z -O %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
7z x -y %TOOLCHAIN_DIR%\win32\mingw32\sdk-28-10-16.7z
Call :print_ok Successfully! Call :print_ok Successfully!
@@ -47,11 +41,7 @@ Call :print_ok Successfully!
Call :print_msg Updating libraries Call :print_msg Updating libraries
cd %TOOLCHAIN_DIR%\win32\mingw32\lib updateLibraries %TOOLCHAIN_DIR%
wget -r --no-parent http://builds.kolibrios.org/en_US/data/contrib/sdk/lib/
move /-y builds.kolibrios.org\en_US\data\contrib\sdk\lib\* .\
rd /s /q builds.kolibrios.org
Call :print_ok Successfully! Call :print_ok Successfully!

View File

@@ -65,18 +65,25 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
Check: NeedsAddPath('{app}\win32\bin') Check: NeedsAddPath('{app}\win32\bin')
[Files] [Files]
Source: ".\install.ps1"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: ".\bat\downloadToolchain.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\bat\downloadLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: ".\bat\updateLibraries.bat"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files ; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Run] [Run]
Filename: "{app}\install.ps1"; description: "install script"; StatusMsg: "Installing toolchain"; Parameters: "-InstallPath {app}"; Flags: runhidden logoutput Filename: "{app}\downloadToolchain.bat"; description: "install toolchain script"; StatusMsg: "Installing toolchain"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\downloadLibraries.bat"; description: "download libraries script"; StatusMsg: "Download libraries"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\updateLibraries.bat"; description: "update libraries script"; StatusMsg: "Updating libraries"; Parameters: "{app}"; Flags: runhidden logoutput
Filename: "{app}\cleanArchives.bat"; description: "Delete downloaded archives script"; StatusMsg: "Delete downloaded archives"; Parameters: "{app}"; Flags: runhidden logoutput
[Icons] [Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}" Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}" Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
[UninstallDelete] [UninstallDelete]
Type: files; Name: "{app}\*" Type: files; Name: "{app}"
Type: filesandordirs; Name: "{app}\win32"
[Code] [Code]
function NeedsAddPath(Param: string): boolean; function NeedsAddPath(Param: string): boolean;
@@ -93,4 +100,4 @@ begin
{ look for the path with leading and trailing semicolon } { look for the path with leading and trailing semicolon }
{ Pos() returns 0 if not found } { Pos() returns 0 if not found }
Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0; Result := Pos(';' + Param + ';', ';' + OrigPath + ';') = 0;
end; end;