OSDN Git Service

Automate the creation of installers.
authors_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 10 May 2014 12:01:48 +0000 (21:01 +0900)
committers_kawamoto <s_kawamoto@users.sourceforge.jp>
Sat, 10 May 2014 12:01:48 +0000 (21:01 +0900)
Package/installer_config.bat
Package/make_cab_file.bat
Package/make_exe_file.bat
Package/make_installer.bat
Package/make_installer_post.bat
Package/make_installer_pre.bat
Package/make_zip_file.bat [new file with mode: 0644]
Package/make_zip_file_routine.vbs [new file with mode: 0644]
Package/package_readme.txt

index 314ae16..f32ea66 100644 (file)
@@ -4,29 +4,29 @@ REM;
 \r
 \r
 REM;  Set directory and path information\r
-set DIR_JPN=zip\jpn\ffftp\r
-set DIR_ENG=zip\eng\ffftp\r
-set JPN_ZIP=zip\jpn\ffftp.zip\r
-set ENG_ZIP=zip\eng\ffftp.zip\r
-\r
-set DIR_JPN_INST=EXEpress\jpn\ffftp\r
-set DIR_ENG_INST=EXEpress\eng\ffftp\r
-set INI_JPN_INST=EXEpress\jpn\ffftp.ini\r
-set INI_ENG_INST=EXEpress\eng\ffftp.ini\r
-set JPN_INST=EXEpress\jpn\ffftp.exe\r
-set ENG_INST=EXEpress\eng\ffftp.exe\r
-\r
-set AMD64_DIR_JPN=zip\amd64\jpn\ffftp\r
-set AMD64_DIR_ENG=zip\amd64\eng\ffftp\r
-set AMD64_JPN_ZIP=zip\amd64\jpn\ffftp.zip\r
-set AMD64_ENG_ZIP=zip\amd64\eng\ffftp.zip\r
-\r
-set AMD64_DIR_JPN_INST=EXEpress\amd64\jpn\ffftp\r
-set AMD64_DIR_ENG_INST=EXEpress\amd64\eng\ffftp\r
-set AMD64_INI_JPN_INST=EXEpress\amd64\jpn\ffftp.ini\r
-set AMD64_INI_ENG_INST=EXEpress\amd64\eng\ffftp.ini\r
-set AMD64_JPN_INST=EXEpress\amd64\jpn\ffftp.exe\r
-set AMD64_ENG_INST=EXEpress\amd64\eng\ffftp.exe\r
+set DIR_ZIP_JPN=zip\jpn\ffftp\r
+set DIR_ZIP_ENG=zip\eng\ffftp\r
+set ZIP_JPN=zip\jpn\ffftp.zip\r
+set ZIP_ENG=zip\eng\ffftp.zip\r
+\r
+set DIR_INST_JPN=EXEpress\jpn\ffftp\r
+set DIR_INST_ENG=EXEpress\eng\ffftp\r
+set INI_INST_JPN=EXEpress\jpn\ffftp.ini\r
+set INI_INST_ENG=EXEpress\eng\ffftp.ini\r
+set INST_JPN=EXEpress\jpn\ffftp.exe\r
+set INST_ENG=EXEpress\eng\ffftp.exe\r
+\r
+set AMD64_DIR_ZIP_JPN=zip\amd64\jpn\ffftp\r
+set AMD64_DIR_ZIP_ENG=zip\amd64\eng\ffftp\r
+set AMD64_ZIP_JPN=zip\amd64\jpn\ffftp.zip\r
+set AMD64_ZIP_ENG=zip\amd64\eng\ffftp.zip\r
+\r
+set AMD64_DIR_INST_JPN=EXEpress\amd64\jpn\ffftp\r
+set AMD64_DIR_INST_ENG=EXEpress\amd64\eng\ffftp\r
+set AMD64_INI_INST_JPN=EXEpress\amd64\jpn\ffftp.ini\r
+set AMD64_INI_INST_ENG=EXEpress\amd64\eng\ffftp.ini\r
+set AMD64_INST_JPN=EXEpress\amd64\jpn\ffftp.exe\r
+set AMD64_INST_ENG=EXEpress\amd64\eng\ffftp.exe\r
 \r
 set HTMLHELP=..\htmlhelp\FFFTP.CHM\r
 set BIN_JPN=..\Release\FFFTP.exe\r
index 7fac7c0..e9ebddb 100644 (file)
@@ -6,8 +6,8 @@ REM;
 \r
 call installer_config.bat\r
 \r
-call make_cab_file_routine.bat "%cd%\%DIR_JPN_INST%\.." ffftp\r
-call make_cab_file_routine.bat "%cd%\%DIR_ENG_INST%\.." ffftp\r
-call make_cab_file_routine.bat "%cd%\%AMD64_DIR_JPN_INST%\.." ffftp\r
-call make_cab_file_routine.bat "%cd%\%AMD64_DIR_ENG_INST%\.." ffftp\r
+call make_cab_file_routine.bat "%cd%\%DIR_INST_JPN%\.." ffftp\r
+call make_cab_file_routine.bat "%cd%\%DIR_INST_ENG%\.." ffftp\r
+call make_cab_file_routine.bat "%cd%\%AMD64_DIR_INST_JPN%\.." ffftp\r
+call make_cab_file_routine.bat "%cd%\%AMD64_DIR_INST_ENG%\.." ffftp\r
 \r
index fa58259..790f3f7 100644 (file)
@@ -7,8 +7,8 @@ call installer_config.bat
 set EXEPRESS_PATH="%ProgramFiles%\Web Technology\EXEpress CX 5\EXEpress.exe"\r
 if %PROCESSOR_ARCHITECTURE%==AMD64 set EXEPRESS_PATH="%ProgramFiles(x86)%\Web Technology\EXEpress CX 5\EXEpress.exe"\r
 \r
-%EXEPRESS_PATH% %cd%\%INI_JPN_INST%\r
-%EXEPRESS_PATH% %cd%\%INI_ENG_INST%\r
-%EXEPRESS_PATH% %cd%\%AMD64_INI_JPN_INST%\r
-%EXEPRESS_PATH% %cd%\%AMD64_INI_ENG_INST%\r
+%EXEPRESS_PATH% %cd%\%INI_INST_JPN%\r
+%EXEPRESS_PATH% %cd%\%INI_INST_ENG%\r
+%EXEPRESS_PATH% %cd%\%AMD64_INI_INST_JPN%\r
+%EXEPRESS_PATH% %cd%\%AMD64_INI_INST_ENG%\r
 \r
index c93cc99..bbca7af 100644 (file)
@@ -7,8 +7,7 @@ REM;
 call make_installer_pre.bat\r
 call make_cab_file.bat\r
 call make_exe_file.bat\r
-echo Please create ZIP files manually and then resume this.\r
-pause\r
+call make_zip_file.bat\r
 call make_installer_post.bat\r
 echo Done.\r
 pause\r
index 55d8b2f..d56cd31 100644 (file)
@@ -7,18 +7,18 @@ REM;
 call installer_config.bat\r
 \r
 REM;  copy zip archive\r
-copy /Y %JPN_ZIP% ffftp-%FFFTP_VERSION%.zip\r
-copy /Y %ENG_ZIP% ffftp-%FFFTP_VERSION%-eng.zip\r
+copy /Y %ZIP_JPN% ffftp-%FFFTP_VERSION%.zip\r
+copy /Y %ZIP_ENG% ffftp-%FFFTP_VERSION%-eng.zip\r
 \r
 REM; copy installer\r
-copy /Y %JPN_INST% ffftp-%FFFTP_VERSION%.exe\r
-copy /Y %ENG_INST% ffftp-%FFFTP_VERSION%-eng.exe\r
+copy /Y %INST_JPN% ffftp-%FFFTP_VERSION%.exe\r
+copy /Y %INST_ENG% ffftp-%FFFTP_VERSION%-eng.exe\r
 \r
 REM;  copy zip archive\r
-copy /Y %AMD64_JPN_ZIP% ffftp-%FFFTP_VERSION%-64.zip\r
-copy /Y %AMD64_ENG_ZIP% ffftp-%FFFTP_VERSION%-64-eng.zip\r
+copy /Y %AMD64_ZIP_JPN% ffftp-%FFFTP_VERSION%-64.zip\r
+copy /Y %AMD64_ZIP_ENG% ffftp-%FFFTP_VERSION%-64-eng.zip\r
 \r
 REM; copy installer\r
-copy /Y %AMD64_JPN_INST% ffftp-%FFFTP_VERSION%-64.exe\r
-copy /Y %AMD64_ENG_INST% ffftp-%FFFTP_VERSION%-64-eng.exe\r
+copy /Y %AMD64_INST_JPN% ffftp-%FFFTP_VERSION%-64.exe\r
+copy /Y %AMD64_INST_ENG% ffftp-%FFFTP_VERSION%-64-eng.exe\r
 \r
index fbfeadd..bfa3f97 100644 (file)
@@ -7,48 +7,48 @@ REM;
 call installer_config.bat\r
 \r
 REM;  copy Japanese files\r
-mkdir %DIR_JPN%\r
-copy /Y %BIN_JPN% %DIR_JPN%\r
-copy /Y %HTMLHELP% %DIR_JPN%\r
-copy /Y %DIR_JPN_DOC%\*.txt %DIR_JPN%\r
-copy /Y %DIR_DIST%\*.dll %DIR_JPN%\r
-copy /Y %DIR_DIST%\*.manifest %DIR_JPN%\r
-copy /Y %DIR_DIST%\*.pem %DIR_JPN%\r
+mkdir %DIR_ZIP_JPN%\r
+copy /Y %BIN_JPN% %DIR_ZIP_JPN%\r
+copy /Y %HTMLHELP% %DIR_ZIP_JPN%\r
+copy /Y %DIR_JPN_DOC%\*.txt %DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\*.dll %DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\*.manifest %DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\*.pem %DIR_ZIP_JPN%\r
 \r
 REM;  copy English files\r
-mkdir %DIR_ENG%\r
-copy /Y %BIN_ENG% %DIR_ENG%\r
-copy /Y %DIR_ENG_DOC%\*.txt %DIR_ENG%\r
-copy /Y %DIR_DIST%\*.dll %DIR_ENG%\r
-copy /Y %DIR_DIST%\*.manifest %DIR_ENG%\r
-copy /Y %DIR_DIST%\*.pem %DIR_ENG%\r
+mkdir %DIR_ZIP_ENG%\r
+copy /Y %BIN_ENG% %DIR_ZIP_ENG%\r
+copy /Y %DIR_ENG_DOC%\*.txt %DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\*.dll %DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\*.manifest %DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\*.pem %DIR_ZIP_ENG%\r
 \r
 REM;  copy Japanese files\r
-mkdir %AMD64_DIR_JPN%\r
-copy /Y %BIN_AMD64_JPN% %AMD64_DIR_JPN%\r
-copy /Y %HTMLHELP% %AMD64_DIR_JPN%\r
-copy /Y %DIR_JPN_DOC%\*.txt %AMD64_DIR_JPN%\r
-copy /Y %DIR_DIST%\amd64\*.dll %AMD64_DIR_JPN%\r
-copy /Y %DIR_DIST%\amd64\*.manifest %AMD64_DIR_JPN%\r
-copy /Y %DIR_DIST%\*.pem %AMD64_DIR_JPN%\r
+mkdir %AMD64_DIR_ZIP_JPN%\r
+copy /Y %BIN_AMD64_JPN% %AMD64_DIR_ZIP_JPN%\r
+copy /Y %HTMLHELP% %AMD64_DIR_ZIP_JPN%\r
+copy /Y %DIR_JPN_DOC%\*.txt %AMD64_DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\amd64\*.dll %AMD64_DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\amd64\*.manifest %AMD64_DIR_ZIP_JPN%\r
+copy /Y %DIR_DIST%\*.pem %AMD64_DIR_ZIP_JPN%\r
 \r
 REM;  copy English files\r
-mkdir %AMD64_DIR_ENG%\r
-copy /Y %BIN_AMD64_ENG% %AMD64_DIR_ENG%\r
-copy /Y %DIR_ENG_DOC%\*.txt %AMD64_DIR_ENG%\r
-copy /Y %DIR_DIST%\amd64\*.dll %AMD64_DIR_ENG%\r
-copy /Y %DIR_DIST%\amd64\*.manifest %AMD64_DIR_ENG%\r
-copy /Y %DIR_DIST%\*.pem %AMD64_DIR_ENG%\r
+mkdir %AMD64_DIR_ZIP_ENG%\r
+copy /Y %BIN_AMD64_ENG% %AMD64_DIR_ZIP_ENG%\r
+copy /Y %DIR_ENG_DOC%\*.txt %AMD64_DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\amd64\*.dll %AMD64_DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\amd64\*.manifest %AMD64_DIR_ZIP_ENG%\r
+copy /Y %DIR_DIST%\*.pem %AMD64_DIR_ZIP_ENG%\r
 \r
 REM; copy to installer working directory\r
-copy /Y %DIR_JPN%\*.* %DIR_JPN_INST%\r
-copy /Y %DIR_ENG%\*.* %DIR_ENG_INST%\r
-copy /Y %AMD64_DIR_JPN%\*.* %AMD64_DIR_JPN_INST%\r
-copy /Y %AMD64_DIR_ENG%\*.* %AMD64_DIR_ENG_INST%\r
+copy /Y %DIR_ZIP_JPN%\*.* %DIR_INST_JPN%\r
+copy /Y %DIR_ZIP_ENG%\*.* %DIR_INST_ENG%\r
+copy /Y %AMD64_DIR_ZIP_JPN%\*.* %AMD64_DIR_INST_JPN%\r
+copy /Y %AMD64_DIR_ZIP_ENG%\*.* %AMD64_DIR_INST_ENG%\r
 \r
 REM; copy a portable indicator file\r
-copy /Y %PORTABLE_FILE% %DIR_JPN%\r
-copy /Y %PORTABLE_FILE% %DIR_ENG%\r
-copy /Y %PORTABLE_FILE% %AMD64_DIR_JPN%\r
-copy /Y %PORTABLE_FILE% %AMD64_DIR_ENG%\r
+copy /Y %PORTABLE_FILE% %DIR_ZIP_JPN%\r
+copy /Y %PORTABLE_FILE% %DIR_ZIP_ENG%\r
+copy /Y %PORTABLE_FILE% %AMD64_DIR_ZIP_JPN%\r
+copy /Y %PORTABLE_FILE% %AMD64_DIR_ZIP_ENG%\r
 \r
diff --git a/Package/make_zip_file.bat b/Package/make_zip_file.bat
new file mode 100644 (file)
index 0000000..634ddb3
--- /dev/null
@@ -0,0 +1,13 @@
+REM;\r
+REM;  This is batch-file to prepare for creating ZIP files.\r
+REM;  Please run in "ffftp\Package" directory.\r
+REM;  To change settings, please edit "instaler_config.bat".\r
+REM; \r
+\r
+call installer_config.bat\r
+\r
+make_zip_file_routine.vbs "%cd%\%DIR_ZIP_JPN%" "%cd%\%ZIP_JPN%"\r
+make_zip_file_routine.vbs "%cd%\%DIR_ZIP_ENG%" "%cd%\%ZIP_ENG%"\r
+make_zip_file_routine.vbs "%cd%\%AMD64_DIR_ZIP_JPN%" "%cd%\%AMD64_ZIP_JPN%"\r
+make_zip_file_routine.vbs "%cd%\%AMD64_DIR_ZIP_ENG%" "%cd%\%AMD64_ZIP_ENG%"\r
+\r
diff --git a/Package/make_zip_file_routine.vbs b/Package/make_zip_file_routine.vbs
new file mode 100644 (file)
index 0000000..4726215
--- /dev/null
@@ -0,0 +1,26 @@
+If WScript.Arguments.Count > 0 Then\r
+       Set fso = CreateObject("Scripting.FileSystemObject")\r
+       Set sh = CreateObject("Shell.Application")\r
+       src = WScript.Arguments(0)\r
+       If WScript.Arguments.Count > 1 Then\r
+               zip = WScript.Arguments(1)\r
+       Else\r
+               zip = fso.BuildPath(fso.GetParentFolderName(src), fso.GetBaseName(src)) & ".zip"\r
+       End If\r
+       tmp = zip & ".temp"\r
+       fso.CreateTextFile(zip, True).Write Chr(&H50) & Chr(&H4b) & Chr(&H05) & Chr(&H06) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00) & Chr(&H00)\r
+       If fso.FolderExists(tmp) Then\r
+               fso.DeleteFolder tmp, True\r
+       End If\r
+       fso.CreateFolder tmp\r
+       If fso.FolderExists(src) Then\r
+               fso.CopyFolder src, fso.BuildPath(tmp, fso.GetFileName(src))\r
+       Else\r
+               fso.CopyFile src, fso.BuildPath(tmp, fso.GetFileName(src))\r
+       End If\r
+       sh.NameSpace(zip).MoveHere sh.NameSpace(tmp).Items\r
+       Do While sh.NameSpace(tmp).Items.Count > 0\r
+               WScript.Sleep(1000)\r
+       Loop\r
+       fso.DeleteFolder tmp, True\r
+End if\r
index bae6a8f..fe98c43 100644 (file)
@@ -4,18 +4,10 @@
 \r
 \r
 \r
-自動的にインストーラを作成する手順\r
+自動的にインストーラを作成する手順\r
 \r
 1. make_installer.batを実行\r
 \r
-2. 途中で処理が中断されるので、以下の手順に従ってZIPファイルを作成(ZIP版を作成しない場合は省略可能)\r
-   2.1. zip\jpn\ffftpフォルダをZIP形式で圧縮(「送る」→「圧縮(ZIP形式)フォルダ」で可能)\r
-   2.2. zip\eng\ffftpフォルダをZIP形式で圧縮(「送る」→「圧縮(ZIP形式)フォルダ」で可能)\r
-   2.3. zip\amd64\jpn\ffftpフォルダをZIP形式で圧縮(「送る」→「圧縮(ZIP形式)フォルダ」で可能)\r
-   2.4. zip\amd64\eng\ffftpフォルダをZIP形式で圧縮(「送る」→「圧縮(ZIP形式)フォルダ」で可能)\r
-\r
-3. 処理を続行\r
-\r
 \r
 \r
 手動でインストーラを作成する手順\r