;-------------------------------- ; OpenVPN NSIS Post-Installer ;-------------------------------- ;-------------------------------- ;Include Modern UI !include "MUI.nsh" !include "FileFunc.nsh" !include "LogicLib.nsh" ;-------------------------------- ; General ;-------------------------------- Name "OpenVPN Configuration" OutFile "openvpn-postinstall.exe" SetCompressor /SOLID lzma ShowInstDetails show ;-------------------------------- ;Include Settings ;-------------------------------- !define MUI_ICON "openvpn-postinstall.ico" !define MUI_ABORTWARNING ;-------------------------------- ;Pages ;-------------------------------- !insertmacro MUI_PAGE_INSTFILES !insertmacro Locate !insertmacro GetParameters !insertmacro GetOptions ;-------------------------------- ;Languages ;-------------------------------- !insertmacro MUI_LANGUAGE "English" ;-------------------------------- ;Functions ;-------------------------------- Function .onInit Var /GLOBAL CONFPATH ReadRegStr $CONFPATH HKLM "Software\OpenVPN" "config_dir" FunctionEnd Function CopyConfFile CopyFiles $R9 $CONFPATH\$R7 Push $0 FunctionEnd Function ImportConfFile ExecWait "rundll32.exe cryptext.dll,CryptExtAddPFX $R9" Push $0 FunctionEnd ;-------------------------------- ;Installer Sections ;-------------------------------- Section "Imort Configuration" SectionImport DetailPrint "Installing configuration files ..." ${Locate} ".\config" "/L=F /M=*.ovpn" "CopyConfFile" DetailPrint "Installing certificate and key files ..." ${Locate} ".\config" "/L=F /M=*.crt" "CopyConfFile" ${Locate} ".\config" "/L=F /M=*.key" "CopyConfFile" ${GetParameters} $R0 ${GetOptions} $R0 "/Import" $R1 IfErrors p12_copy p12_import p12_copy: ${Locate} ".\config" "/L=F /M=*.p12" "CopyConfFile" Goto p12_done p12_import: ${Locate} ".\config" "/L=F /M=*.p12" "ImportConfFile" Goto p12_done p12_done: SectionEnd ;-------------------------------- ;Descriptions ;-------------------------------- ;Language strings LangString DESC_SectionImport ${LANG_ENGLISH} "Import OpenVPN Configurations and Key Files." ;Assign language strings to sections !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SectionImport} $(DESC_SectionImport) !insertmacro MUI_FUNCTION_DESCRIPTION_END ;-------------------------------- ; END ;--------------------------------