]> Nishi Git Mirror - dataworks.git/commitdiff
installer works
authornishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Thu, 20 Jun 2024 10:07:30 +0000 (10:07 +0000)
committernishi <nishi@d4a5a174-5a4a-5b4b-b672-37683c10d7d5>
Thu, 20 Jun 2024 10:07:30 +0000 (10:07 +0000)
git-svn-id: file:///raid/svn-main/nishi-dataworks/trunk@402 d4a5a174-5a4a-5b4b-b672-37683c10d7d5

.github/workflows/build.yml
Makefiles/installer.mk

index 21777eb9e4d801739597cad1cb2e0199f1fbc1d4..a353f277d13df08bbb16a19163ad898860e76e6f 100644 (file)
@@ -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 }}
index 0e1c30c125ef082fbebcbae17d7f01a3a8832600..8e2ad79e6b71799fa0b01100105965decd6c0f0c 100644 (file)
@@ -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