diff options
-rw-r--r-- | domake-win | 6 | ||||
-rw-r--r-- | install-win32/buildinstaller | 14 | ||||
-rw-r--r-- | install-win32/maketext | 35 | ||||
-rwxr-xr-x | install-win32/openvpn.nsi | 79 | ||||
-rw-r--r-- | install-win32/settings.in | 9 |
5 files changed, 94 insertions, 49 deletions
@@ -127,12 +127,12 @@ install-win32/getpkcs11helper # Get the OpenVPN GUI (must be prebuilt) install-win32/getgui -# Produce the license text, install README, and sample config files -install-win32/maketext - # Get the OpenVPN XML-based GUI (must be prebuilt) install-win32/getxgui +# Produce the license text, install README, and sample config files +install-win32/maketext + # This final step builds the OpenVPN installer using generated # files from GENOUT install-win32/buildinstaller diff --git a/install-win32/buildinstaller b/install-win32/buildinstaller index d906edf..83057bb 100644 --- a/install-win32/buildinstaller +++ b/install-win32/buildinstaller @@ -4,19 +4,11 @@ . autodefs/defs.sh # build the installer -cd install-win32 -rm -f *.exe -'/c/Program Files/NSIS/makensis' openvpn.nsi &>makensis.log +rm -f $GENOUT/*.exe +'/c/Program Files/NSIS/makensis' $GENOUT/nsi/openvpn.nsi &>makensis.log tail -20 makensis.log -# copy the installer to GENOUT/install -ls openvpn*.exe 2>/dev/null || exit 1 -i=`ls -t openvpn*.exe | head -n 1` -cd .. -mkdir $GENOUT/install &>/dev/null -cp install-win32/$i $GENOUT/install - # sign the installer if [ -d "$SIGNTOOL" ]; then - TARGET_EXE="$(pwd)/$GENOUT/install/$i" $SIGNTOOL/signexe + TARGET_EXE="$(echo $(pwd)/$GENOUT/*.exe)" $SIGNTOOL/signexe fi diff --git a/install-win32/maketext b/install-win32/maketext index 969a530..a66715c 100644 --- a/install-win32/maketext +++ b/install-win32/maketext @@ -17,4 +17,37 @@ mkdir -p $s &>/dev/null cp sample-config-files/client.conf $s/client.$PRODUCT_FILE_EXT cp sample-config-files/server.conf $s/server.$PRODUCT_FILE_EXT cp install-win32/sample.ovpn $s/sample.$PRODUCT_FILE_EXT -cp easy-rsa/1.0/openssl.cnf $s/openssl.cnf.sample + +# get easy-rsa (Windows) +e=$GENOUT/easy-rsa +mkdir -p $e &>/dev/null +cp easy-rsa/1.0/openssl.cnf $e/openssl.cnf.sample +cp easy-rsa/Windows/* $e + +# get images +i=$GENOUT/images +mkdir -p $i &>/dev/null +cp images/*.ico $i +cp images/*.bmp $i + +# get NSI files +n=$GENOUT/nsi +mkdir -p $n &>/dev/null +cp autodefs/defs.nsi $n +cp autodefs/guidefs.nsi $n +cp autodefs/xguidefs.nsi $n +cp install-win32/openvpn.nsi $n +cp install-win32/setpath.nsi $n +cp install-win32/GetWindowsVersion.nsi $n + +# get OpenVPN client config files +if [ -n "$SAMPCONF_DIR" ]; then + c=$GENOUT/conf + mkdir -p $c &>/dev/null + test -n "$SAMPCONF_CONF" && cp "../$SAMPCONF_DIR/$SAMPCONF_CONF" $c + test -n "$SAMPCONF_P12" && cp "../$SAMPCONF_DIR/$SAMPCONF_P12" $c + test -n "$SAMPCONF_TA" && cp "../$SAMPCONF_DIR/$SAMPCONF_TA" $c + test -n "$SAMPCONF_CA" && cp "../$SAMPCONF_DIR/$SAMPCONF_CA" $c + test -n "$SAMPCONF_CRT" && cp "../$SAMPCONF_DIR/$SAMPCONF_CRT" $c + test -n "$SAMPCONF_KEY" && cp "../$SAMPCONF_DIR/$SAMPCONF_KEY" $c +fi diff --git a/install-win32/openvpn.nsi b/install-win32/openvpn.nsi index 0ffdf8d..0c25d50 100755 --- a/install-win32/openvpn.nsi +++ b/install-win32/openvpn.nsi @@ -7,15 +7,18 @@ ; OpenVPN install script for Windows, using NSIS -!define HOME ".." - -!include "${HOME}\autodefs\defs.nsi" -!include "${HOME}\autodefs\guidefs.nsi" -!include "${HOME}\autodefs\xguidefs.nsi" !include "MUI.nsh" + +!include "defs.nsi" +!include "guidefs.nsi" +!include "xguidefs.nsi" !include "setpath.nsi" !include "GetWindowsVersion.nsi" +!define GEN ".." +!define BIN "${GEN}\bin" +!define LIB "${GEN}\lib" + ; Which GUI to use (XGUI has priority). ; We will define either USE_XGUI (XML-based version) or ; USE_GUI (Mathias Sundman version) but not both. @@ -27,10 +30,6 @@ !endif !endif -!define GEN "${HOME}\${GENOUT}" -!define BIN "${GEN}\bin" -!define LIB "${GEN}\lib" - !define PRODUCT_ICON "icon.ico" !ifdef USE_XGUI @@ -72,7 +71,7 @@ ;General - OutFile "${PRODUCT_UNIX_NAME}-${VERSION}${OUTFILE_LABEL}-install.exe" + OutFile "${GEN}\${PRODUCT_UNIX_NAME}-${VERSION}${OUTFILE_LABEL}-install.exe" SetCompressor bzip2 @@ -103,10 +102,10 @@ !endif !define MUI_FINISHPAGE_NOAUTOCLOSE !define MUI_ABORTWARNING - !define MUI_ICON "${HOME}\images\${PRODUCT_ICON}" - !define MUI_UNICON "${HOME}\images\${PRODUCT_ICON}" + !define MUI_ICON "${GEN}\images\${PRODUCT_ICON}" + !define MUI_UNICON "${GEN}\images\${PRODUCT_ICON}" !define MUI_HEADERIMAGE - !define MUI_HEADERIMAGE_BITMAP "${HOME}\images\install-whirl.bmp" + !define MUI_HEADERIMAGE_BITMAP "${GEN}\images\install-whirl.bmp" !define MUI_UNFINISHPAGE_NOAUTOCLOSE !insertmacro MUI_PAGE_WELCOME @@ -163,7 +162,7 @@ ;Things that need to be extracted on first (keep these lines before any File command!) ;Only useful for BZIP2 compression - ReserveFile "${HOME}\images\install-whirl.bmp" + ReserveFile "${GEN}\images\install-whirl.bmp" ;-------------------------------- ;Macros @@ -325,21 +324,21 @@ Section "${PRODUCT_NAME} RSA Certificate Management Scripts" SecOpenVPNEasyRSA SetOverwrite on SetOutPath "$INSTDIR\easy-rsa" - File "${GEN}\samples\openssl.cnf.sample" - File "${HOME}\easy-rsa\Windows\vars.bat.sample" + File "${GEN}\easy-rsa\openssl.cnf.sample" + File "${GEN}\easy-rsa\vars.bat.sample" - File "${HOME}\easy-rsa\Windows\init-config.bat" + File "${GEN}\easy-rsa\init-config.bat" - File "${HOME}\easy-rsa\Windows\README.txt" - File "${HOME}\easy-rsa\Windows\build-ca.bat" - File "${HOME}\easy-rsa\Windows\build-dh.bat" - File "${HOME}\easy-rsa\Windows\build-key-server.bat" - File "${HOME}\easy-rsa\Windows\build-key.bat" - File "${HOME}\easy-rsa\Windows\build-key-pkcs12.bat" - File "${HOME}\easy-rsa\Windows\clean-all.bat" - File "${HOME}\easy-rsa\Windows\index.txt.start" - File "${HOME}\easy-rsa\Windows\revoke-full.bat" - File "${HOME}\easy-rsa\Windows\serial.start" + File "${GEN}\easy-rsa\README.txt" + File "${GEN}\easy-rsa\build-ca.bat" + File "${GEN}\easy-rsa\build-dh.bat" + File "${GEN}\easy-rsa\build-key-server.bat" + File "${GEN}\easy-rsa\build-key.bat" + File "${GEN}\easy-rsa\build-key-pkcs12.bat" + File "${GEN}\easy-rsa\clean-all.bat" + File "${GEN}\easy-rsa\index.txt.start" + File "${GEN}\easy-rsa\revoke-full.bat" + File "${GEN}\easy-rsa\serial.start" SectionEnd @@ -497,20 +496,29 @@ Section -post File "${GEN}\text\INSTALL-win32.txt" !endif File "${GEN}\text\license.txt" - File "${HOME}\images\${PRODUCT_ICON}" + File "${GEN}\images\${PRODUCT_ICON}" ; store sample config files !ifdef SAMPCONF_DIR SetOverwrite on SetOutPath "$INSTDIR\config" !ifdef SAMPCONF_CONF - File "${HOME}\..\${SAMPCONF_DIR}\${SAMPCONF_CONF}" + File "${GEN}\conf\${SAMPCONF_CONF}" !endif !ifdef SAMPCONF_P12 - File "${HOME}\..\${SAMPCONF_DIR}\${SAMPCONF_P12}" + File "${GEN}\conf\${SAMPCONF_P12}" !endif !ifdef SAMPCONF_TA - File "${HOME}\..\${SAMPCONF_DIR}\${SAMPCONF_TA}" + File "${GEN}\conf\${SAMPCONF_TA}" + !endif + !ifdef SAMPCONF_CA + File "${GEN}\conf\${SAMPCONF_CA}" + !endif + !ifdef SAMPCONF_CRT + File "${GEN}\conf\${SAMPCONF_CRT}" + !endif + !ifdef SAMPCONF_KEY + File "${GEN}\conf\${SAMPCONF_KEY}" !endif !endif @@ -760,6 +768,15 @@ Section "Uninstall" !ifdef SAMPCONF_TA Delete "$INSTDIR\config\${SAMPCONF_TA}" !endif + !ifdef SAMPCONF_CA + Delete "$INSTDIR\config\${SAMPCONF_CA}" + !endif + !ifdef SAMPCONF_CRT + Delete "$INSTDIR\config\${SAMPCONF_CRT}" + !endif + !ifdef SAMPCONF_KEY + Delete "$INSTDIR\config\${SAMPCONF_KEY}" + !endif !endif !ifdef USE_GUI diff --git a/install-win32/settings.in b/install-win32/settings.in index f946ba9..0be1c2d 100644 --- a/install-win32/settings.in +++ b/install-win32/settings.in @@ -83,6 +83,9 @@ # include a sample configuration file and key ;!define SAMPCONF_DIR "test-key" -!define SAMPCONF_CONF "test.ovpn" -!define SAMPCONF_P12 "test.p12" -!define SAMPCONF_TA "ta.key" +;!define SAMPCONF_CONF "test.ovpn" +;!define SAMPCONF_P12 "test.p12" +;!define SAMPCONF_TA "ta.key" +;!define SAMPCONF_CA "ca.crt" +;!define SAMPCONF_CRT "test.crt" +;!define SAMPCONF_KEY "test.key" |