From 086edfdc4e0fb4e2de0584078866ae69d74d8f64 Mon Sep 17 00:00:00 2001 From: nishi Date: Thu, 20 Jun 2024 10:07:30 +0000 Subject: [PATCH] installer works git-svn-id: file:///raid/svn-main/nishi-dataworks/trunk@402 d4a5a174-5a4a-5b4b-b672-37683c10d7d5 --- .github/workflows/build.yml | 10 +--- Makefiles/installer.mk | 107 +++++++++++++++++++++++++++--------- 2 files changed, 84 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 21777eb..a353f27 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -150,12 +150,10 @@ jobs: run: make YACC=byacc PLATFORM=win64 -j3 archive - name: Make installer run: make YACC=byacc PLATFORM=win32 install.exe && mv install.exe install-win64.exe - - name: Make Japanese installer - run: make YACC=byacc PLATFORM=win32 INSTALLER_LANGUAGE=Japanese LICENSE_LANGUAGE=.JP install.exe && mv install.exe install-win64jp.exe - name: Rename to -win64 run: mv dataworks.zip dataworks-win64.zip && mv dataworks.tar.gz dataworks-win64.tar.gz && mv Client/dataworks.exe dataworks-win64.exe && mv Server/dataworks_server.exe dataworks-server-win64.exe && mv RemoteClient/dataworks_remote_client.exe dataworks-remote-client-win64.exe - name: Create artifact - run: zip -rv build-win64.zip dataworks-win64.tar.gz dataworks-win64.zip dataworks-server-win64.exe dataworks-win64.exe dataworks-remote-client-win64.exe install-win64.exe install-win64jp.exe + run: zip -rv build-win64.zip dataworks-win64.tar.gz dataworks-win64.zip dataworks-server-win64.exe dataworks-win64.exe dataworks-remote-client-win64.exe install-win64.exe - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -182,12 +180,10 @@ jobs: run: make YACC=byacc PLATFORM=win32 -j3 archive - name: Make installer run: make YACC=byacc PLATFORM=win32 install.exe && mv install.exe install-win32.exe - - name: Make Japanese installer - run: make YACC=byacc PLATFORM=win32 INSTALLER_LANGUAGE=Japanese LICENSE_LANGUAGE=.JP install.exe && mv install.exe install-win32jp.exe - name: Rename to -win32 run: mv dataworks.zip dataworks-win32.zip && mv dataworks.tar.gz dataworks-win32.tar.gz && mv Client/dataworks.exe dataworks-win32.exe && mv Server/dataworks_server.exe dataworks-server-win32.exe && mv RemoteClient/dataworks_remote_client.exe dataworks-remote-client-win32.exe - name: Create artifact - run: zip -rv build-win32.zip dataworks-win32.tar.gz dataworks-win32.zip dataworks-server-win32.exe dataworks-win32.exe dataworks-remote-client-win32.exe install-win32.exe install-win32jp.exe + run: zip -rv build-win32.zip dataworks-win32.tar.gz dataworks-win32.zip dataworks-server-win32.exe dataworks-win32.exe dataworks-remote-client-win32.exe install-win32.exe - name: Upload artifact uses: actions/upload-artifact@v4 with: @@ -499,6 +495,6 @@ jobs: env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Release - run: gh release create -t "v$(make get-version)" "$(make get-version)" dataworks-dos.{tar.gz,zip} dataworks-macos-arm64.{tar.gz,zip} dataworks-dos4g.{tar.gz,zip} dataworks-win32.{tar.gz,zip} dataworks-win64.{tar.gz,zip} dataworks-linux64.{tar.gz,zip} dataworks-amiga.{tar.gz,zip} dataworks-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64,amiga} dataworks-server-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64} dataworks-remote-client-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64} install1200.img install1440.img dataworks-amd64-ubuntu.deb install-win{32,64}.exe install-win{32,64}jp.exe -n "Version \`$(make get-version)\` was built in this release" + run: gh release create -t "v$(make get-version)" "$(make get-version)" dataworks-dos.{tar.gz,zip} dataworks-macos-arm64.{tar.gz,zip} dataworks-dos4g.{tar.gz,zip} dataworks-win32.{tar.gz,zip} dataworks-win64.{tar.gz,zip} dataworks-linux64.{tar.gz,zip} dataworks-amiga.{tar.gz,zip} dataworks-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64,amiga} dataworks-server-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64} dataworks-remote-client-{dos.exe,dos4g.exe,macos-arm64,win32.exe,win64.exe,linux64} install1200.img install1440.img dataworks-amd64-ubuntu.deb install-win{32,64}.exe -n "Version \`$(make get-version)\` was built in this release" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/Makefiles/installer.mk b/Makefiles/installer.mk index 0e1c30c..8e2ad79 100644 --- a/Makefiles/installer.mk +++ b/Makefiles/installer.mk @@ -60,58 +60,113 @@ dos-installer: echo "!include x64.nsh" >> install.nsi echo "Name \"DataWorks\"" >> install.nsi echo "OutFile \"$@\"" >> install.nsi - echo "RequestExecutionLevel admin" >> install.nsi echo "SetCompressor lzma" >> install.nsi echo "InstallDir \"\$$$(TO)\\DataWorks\"" >> install.nsi echo "XPStyle on" >> install.nsi echo "!define MUI_LICENSEPAGE_RADIOBUTTONS" >> install.nsi + echo "!insertmacro MUI_RESERVEFILE_LANGDLL" >> instal.nsi echo "!insertmacro MUI_PAGE_WELCOME" >> install.nsi - echo "!insertmacro MUI_PAGE_LICENSE LICENSE$(LICENSE_LANGUAGE)" >> install.nsi + echo "!insertmacro MUI_PAGE_LICENSE LICENSE" >> install.nsi echo "!insertmacro MUI_PAGE_DIRECTORY" >> install.nsi + echo "!insertmacro MUI_PAGE_COMPONENTS" >> install.nsi echo "!insertmacro MUI_PAGE_INSTFILES" >> install.nsi echo "!insertmacro MUI_PAGE_FINISH" >> install.nsi echo "!insertmacro MUI_UNPAGE_WELCOME" >> install.nsi echo "!insertmacro MUI_UNPAGE_CONFIRM" >> install.nsi echo "!insertmacro MUI_UNPAGE_INSTFILES" >> install.nsi echo "!insertmacro MUI_UNPAGE_FINISH" >> install.nsi - echo "!insertmacro MUI_LANGUAGE \"$(INSTALLER_LANGUAGE)\"" >> install.nsi + echo "!insertmacro MUI_LANGUAGE \"English\"" >> install.nsi + echo "!insertmacro MUI_LANGUAGE \"Japanese\"" >> install.nsi + echo "LangString APP_SET_DESC \$${LANG_ENGLISH} \"Application set\"" >> install.nsi + echo "LangString APP_SET_DESC \$${LANG_JAPANESE} \"アプリケーションセット\"" >> install.nsi + echo "LangString CLIENT_SET_DESC \$${LANG_ENGLISH} \"Client\"" >> install.nsi + echo "LangString CLIENT_SET_DESC \$${LANG_JAPANESE} \"クライアント\"" >> install.nsi + echo "LangString SERVER_SET_DESC \$${LANG_ENGLISH} \"Server\"" >> install.nsi + echo "LangString SERVER_SET_DESC \$${LANG_JAPANESE} \"サーバー\"" >> install.nsi + echo "LangString RCLI_SET_DESC \$${LANG_ENGLISH} \"Remote Client\"" >> install.nsi + echo "LangString RCLI_SET_DESC \$${LANG_JAPANESE} \"リモートクライアント\"" >> install.nsi + echo "LangString DEV_SET_DESC \$${LANG_ENGLISH} \"Development set\"" >> install.nsi + echo "LangString DEV_SET_DESC \$${LANG_JAPANESE} \"開発用セット\"" >> install.nsi + echo "LangString DLL_SET_DESC \$${LANG_ENGLISH} \"Library\"" >> install.nsi + echo "LangString DLL_SET_DESC \$${LANG_JAPANESE} \"ライブラリ\"" >> install.nsi + echo "LangString HEADERS_SET_DESC \$${LANG_ENGLISH} \"Headers\"" >> install.nsi + echo "LangString HEADERS_SET_DESC \$${LANG_JAPANESE} \"ヘッダー\"" >> install.nsi echo "Function .onInit" >> install.nsi - echo " UserInfo::GetAccountType" >> install.nsi - echo " pop \$$0" >> install.nsi - echo " \$${If} \$$0 != \"admin\"" >> install.nsi - echo " MessageBox mb_iconstop \"Administrator rights required!\"" >> install.nsi - echo " SetErrorLevel 740" >> install.nsi - echo " Quit" >> install.nsi - echo " \$${EndIf}" >> install.nsi + echo " !insertmacro MUI_LANGDLL_DISPLAY" >> install.nsi echo "FunctionEnd" >> install.nsi - echo "Section" >> install.nsi - echo " SetOutPath \"\$$INSTDIR\"" >> install.nsi - echo " File \"Client/dataworks.exe\"" >> install.nsi - echo " File \"Server/dataworks_server.exe\"" >> install.nsi - echo " File \"RemoteClient/dataworks_remote_client.exe\"" >> install.nsi - echo " CreateDirectory \"\$$SMPROGRAMS\\DataWorks\"" >> install.nsi - echo " SetOutPath \"\$$INSTDIR\"" >> install.nsi - echo " CreateShortcut \"\$$SMPROGRAMS\\DataWorks\\DataWorks Client.lnk\" \"\$$INSTDIR\\dataworks.exe\" \"\"" >> install.nsi - echo " CreateShortcut \"\$$SMPROGRAMS\\DataWorks\\DataWorks Remote Client.lnk\" \"\$$INSTDIR\\dataworks_remote_client.exe\" \"\"" >> install.nsi - echo " CreateShortcut \"\$$SMPROGRAMS\\DataWorks\\DataWorks Server.lnk\" \"\$$INSTDIR\\dataworks_server.exe\" \"\"" >> install.nsi + echo "Section -Pre" >> install.nsi + echo " CreateDirectory \"\$$SMPROGRAMS\\\DataWorks\"" >> install.nsi + echo "SectionEnd" >> install.nsi + echo "SectionGroup /e \"\$$(APP_SET_DESC)\" APP_SET" >> install.nsi + echo " Section -PreApp" >> install.nsi + echo " CreateDirectory \"\$$INSTDIR\\\bin\"" >> install.nsi + echo " SectionEnd" >> install.nsi + echo " Section \"\$$(CLIENT_SET_DESC)\" CLIENT_SET" >> install.nsi + echo " SetOutPath \"\$$INSTDIR\\\bin\"" >> install.nsi + echo " File \"Client/dataworks.exe\"" >> install.nsi + echo " CreateShortcut \"\$$SMPROGRAMS\\\DataWorks\\\DataWorks Client.lnk\" \"\$$INSTDIR\\\bin\\\dataworks.exe\" \"\"" >> install.nsi + echo " SectionEnd" >> install.nsi + echo " Section \"\$$(SERVER_SET_DESC)\" SERVER_SET" >> install.nsi + echo " SetOutPath \"\$$INSTDIR\\\bin\"" >> install.nsi + echo " File \"Server/dataworks_server.exe\"" >> install.nsi + echo " CreateShortcut \"\$$SMPROGRAMS\\\DataWorks\\\DataWorks Server.lnk\" \"\$$INSTDIR\\\bin\\\dataworks_server.exe\" \"\"" >> install.nsi + echo " SectionEnd" >> install.nsi + echo " Section \"\$$(RCLI_SET_DESC)\" RCLI_SET" >> install.nsi + echo " SetOutPath \"\$$INSTDIR\\\bin\"" >> install.nsi + echo " File \"RemoteClient/dataworks_remote_client.exe\"" >> install.nsi + echo " CreateShortcut \"\$$SMPROGRAMS\\\DataWorks\\\DataWorks Remote Client.lnk\" \"\$$INSTDIR\\\bin\\\dataworks_remote_client.exe\" \"\"" >> install.nsi + echo " SectionEnd" >> install.nsi + echo "SectionGroupEnd" >> install.nsi + echo "SectionGroup /e \"\$$(DEV_SET_DESC)\" DEV_SET" >> install.nsi + echo " Section /o \"\$$(DLL_SET_DESC)\" DLL_SET" >> install.nsi + echo " CreateDirectory \"\$$INSTDIR\\\lib\"" >> install.nsi + echo " SetOutPath \"\$$INSTDIR\\\lib\"" >> install.nsi + echo " File \"Library/dataworks.dll\"" >> install.nsi + echo " File \"Library/dataworks.lib\"" >> install.nsi + echo " SectionEnd" >> install.nsi + echo " Section /o \"\$$(HEADERS_SET_DESC)\" HEADERS_SET" >> install.nsi + echo " CreateDirectory \"\$$INSTDIR\\\include\"" >> install.nsi + echo " SetOutPath \"\$$INSTDIR\\\include\"" >> install.nsi + for i in `find Library -name "*.h"`; do \ + echo " File \"$$i\"" >> install.nsi; \ + done + echo " SectionEnd" >> install.nsi + echo "SectionGroupEnd" >> install.nsi + echo "Section -Post" >> install.nsi echo " WriteUninstaller \"\$$INSTDIR\\Uninstall.exe\"" >> install.nsi echo " \$${If} \$${RunningX64}" >> install.nsi echo " SetRegView 64" >> install.nsi echo " \$${Else}" >> install.nsi echo " SetRegView 32" >> install.nsi echo " \$${EndIf}" >> install.nsi - echo " WriteRegStr HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\" \"DisplayIcon\" \"\$$INSTDIR\\dataworks.exew\"" >> install.nsi - echo " WriteRegStr HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\" \"DisplayName\" \"Dataworks\"" >> install.nsi + echo " WriteRegStr HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\" \"DisplayIcon\" \"\$$INSTDIR\\dataworks.exe\"" >> install.nsi + echo " WriteRegStr HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\" \"DisplayName\" \"DataWorks\"" >> install.nsi echo " WriteRegStr HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\" \"UninstallString\" \"\$$INSTDIR\\Uninstall.exe\"" >> install.nsi echo "SectionEnd" >> install.nsi echo "Section Uninstall" >> install.nsi echo " SetAutoClose false" >> install.nsi - echo " Delete \"\$$INSTDIR\\dataworks.exe\"" >> install.nsi - echo " Delete \"\$$INSTDIR\\dataworks_server.exe\"" >> install.nsi - echo " Delete \"\$$INSTDIR\\dataworks_remote_client.exe\"" >> install.nsi - echo " Delete \"\$$INSTDIR\\Uninstall.exe\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\bin\\\dataworks.exe\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\bin\\\dataworks_server.exe\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\bin\\\dataworks_remote_client.exe\"" >> install.nsi + echo " RMDir \"\$$INSTDIR\\\bin\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\lib\\\dataworks.dll\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\lib\\\dataworks.lib\"" >> install.nsi + echo " RMDir \"\$$INSTDIR\\\lib\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\include\\\*.h\"" >> install.nsi + echo " RMDir \"\$$INSTDIR\\\include\"" >> install.nsi + echo " Delete \"\$$INSTDIR\\\Uninstall.exe\"" >> install.nsi echo " RMDir \"\$$INSTDIR\"" >> install.nsi echo " DeleteRegKey HKLM \"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\DataWorks\"" >> install.nsi echo "SectionEnd" >> install.nsi + echo "!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${APP_SET} \"\$$(APP_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${SERVER_SET} \"\$$(SERVER_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${CLIENT_SET} \"\$$(CLIENT_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${RCLI_SET} \"\$$(RCLI_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${DEV_SET} \"\$$(DEV_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${DLL_SET} \"\$$(DLL_SET_DESC)\"" >> install.nsi + echo " !insertmacro MUI_DESCRIPTION_TEXT \$${HEADERS_SET} \"\$$(HEADERS_SET_DESC)\"" >> install.nsi + echo "!insertmacro MUI_FUNCTION_DESCRIPTION_END" >> install.nsi + cat install.nsi makensis install.nsi rm install.nsi dataworks.bmp -- 2.43.0