diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe new file mode 100644 index 000000000..04373fcb5 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe new file mode 100644 index 000000000..39063e90a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe new file mode 100644 index 000000000..16ade1390 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin new file mode 100644 index 000000000..5d11756f2 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe new file mode 100644 index 000000000..6a3354093 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h new file mode 100644 index 000000000..0e69c1cdd --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h @@ -0,0 +1,116 @@ +#ifndef _EXDLL_H_ +#define _EXDLL_H_ + +// only include this file from one place in your DLL. +// (it is all static, if you use it in two places it will fail) + +#define EXDLL_INIT() { \ + g_stringsize=string_size; \ + g_stacktop=stacktop; \ + g_variables=variables; } + +// For page showing plug-ins +#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) +#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) +#define NOTIFY_BYE_BYE 'x' + +typedef struct _stack_t { + struct _stack_t *next; + TCHAR text[1]; // this should be the length of string_size +} stack_t; + + +static unsigned int g_stringsize; +static stack_t **g_stacktop; +static TCHAR *g_variables; + +static int __stdcall popstring(TCHAR *str); // 0 on success, 1 on empty stack +static void __stdcall pushstring(const TCHAR *str); + +enum +{ +INST_0, // $0 +INST_1, // $1 +INST_2, // $2 +INST_3, // $3 +INST_4, // $4 +INST_5, // $5 +INST_6, // $6 +INST_7, // $7 +INST_8, // $8 +INST_9, // $9 +INST_R0, // $R0 +INST_R1, // $R1 +INST_R2, // $R2 +INST_R3, // $R3 +INST_R4, // $R4 +INST_R5, // $R5 +INST_R6, // $R6 +INST_R7, // $R7 +INST_R8, // $R8 +INST_R9, // $R9 +INST_CMDLINE, // $CMDLINE +INST_INSTDIR, // $INSTDIR +INST_OUTDIR, // $OUTDIR +INST_EXEDIR, // $EXEDIR +INST_LANG, // $LANGUAGE +__INST_LAST +}; + +typedef struct { + int autoclose; + int all_user_var; + int exec_error; + int abort; + int exec_reboot; + int reboot_called; + int cur_insttype; + int insttype_changed; + int silent; + int instdir_error; + int rtl; + int errlvl; +} exec_flags; + +typedef struct { + exec_flags *exec_flags; + int (__stdcall *ExecuteCodeSegment)(int, HWND); +} extra_parameters; + +// utility functions (not required but often useful) +static int __stdcall popstring(TCHAR *str) +{ + stack_t *th; + if (!g_stacktop || !*g_stacktop) return 1; + th=(*g_stacktop); + lstrcpy(str,th->text); + *g_stacktop = th->next; + GlobalFree((HGLOBAL)th); + return 0; +} + +static void __stdcall pushstring(const TCHAR *str) +{ + stack_t *th; + if (!g_stacktop) return; + th=(stack_t*)GlobalAlloc(GPTR,sizeof(stack_t)+g_stringsize*sizeof(TCHAR)); + lstrcpyn(th->text,str,g_stringsize); + th->next=*g_stacktop; + *g_stacktop=th; +} + +static TCHAR * __stdcall getuservariable(const int varnum) +{ + if (varnum < 0 || varnum >= __INST_LAST) return NULL; + return g_variables+varnum*g_stringsize; +} + +static void __stdcall setuservariable(const int varnum, const TCHAR *var) +{ + if (var != NULL && varnum >= 0 && varnum < __INST_LAST) + lstrcpy(g_variables + varnum*g_stringsize, var); +} + + + +#endif//_EXDLL_H_ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp new file mode 100644 index 000000000..d6db07793 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp new file mode 100644 index 000000000..a4d37a14a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp new file mode 100644 index 000000000..83e3cf565 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp new file mode 100644 index 000000000..7713942e0 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp new file mode 100644 index 000000000..b28b59bbc Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp new file mode 100644 index 000000000..b374432b7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp new file mode 100644 index 000000000..62468dedc Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp new file mode 100644 index 000000000..31d3c0252 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp new file mode 100644 index 000000000..e14e6b4a0 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp new file mode 100644 index 000000000..695023224 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp new file mode 100644 index 000000000..ee1ec8427 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp new file mode 100644 index 000000000..c687a1d92 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp new file mode 100644 index 000000000..eb3650f7d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp new file mode 100644 index 000000000..cbb52312f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp new file mode 100644 index 000000000..b4a0cf94b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp new file mode 100644 index 000000000..2da34f174 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp new file mode 100644 index 000000000..c74fbdd51 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp new file mode 100644 index 000000000..635596b20 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp new file mode 100644 index 000000000..5f215d774 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp new file mode 100644 index 000000000..1672afa6d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp new file mode 100644 index 000000000..97be6746e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp new file mode 100644 index 000000000..4ac1413b3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp new file mode 100644 index 000000000..6612357a3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico new file mode 100644 index 000000000..0441d5cef Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico new file mode 100644 index 000000000..f3e7bfed3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico new file mode 100644 index 000000000..e047f7db4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico new file mode 100644 index 000000000..fa6064fab Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico new file mode 100644 index 000000000..fd6c7c1f3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico new file mode 100644 index 000000000..bc275415f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico new file mode 100644 index 000000000..5afcc62e8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico new file mode 100644 index 000000000..09532909e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico new file mode 100644 index 000000000..08288b6dd Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico new file mode 100644 index 000000000..4749479fa Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico new file mode 100644 index 000000000..8f1c51222 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico new file mode 100644 index 000000000..fecdc2739 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico new file mode 100644 index 000000000..2908f58be Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico new file mode 100644 index 000000000..3aa83e9f4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico new file mode 100644 index 000000000..f8fbd5ffa Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico new file mode 100644 index 000000000..cd9227971 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico new file mode 100644 index 000000000..77031b58e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico new file mode 100644 index 000000000..461035cc2 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico new file mode 100644 index 000000000..a134f586c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico new file mode 100644 index 000000000..6c7410c2f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico new file mode 100644 index 000000000..e18044928 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico new file mode 100644 index 000000000..a37774cf3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico new file mode 100644 index 000000000..ef3975f56 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico new file mode 100644 index 000000000..1db75f8e4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico new file mode 100644 index 000000000..431eb2e0f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico new file mode 100644 index 000000000..59c79f32b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico new file mode 100644 index 000000000..f2106d611 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico new file mode 100644 index 000000000..2003b2df8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico new file mode 100644 index 000000000..a5eb774b3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico new file mode 100644 index 000000000..932917696 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp new file mode 100644 index 000000000..9f7426bc8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp new file mode 100644 index 000000000..1e1d94251 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp new file mode 100644 index 000000000..dcc38094c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp new file mode 100644 index 000000000..d4145d4ff Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp new file mode 100644 index 000000000..ec46bd852 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp new file mode 100644 index 000000000..661e70232 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp new file mode 100644 index 000000000..097d09429 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp new file mode 100644 index 000000000..196a5b7a7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp new file mode 100644 index 000000000..5524eef94 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi new file mode 100644 index 000000000..2f95e06b6 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi @@ -0,0 +1,53 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc plug-in Test" +OutFile "inetc.exe" +;SilentInstall silent + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_WELCOME + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + +;SetFont 14 + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + + SetDetailsView hide + +; two files download, popup mode + inetc::get /caption "2003-2004 reports" /popup "" "http://ineum.narod.ru/spr_2003.htm" "$EXEDIR\spr3.htm" "http://ineum.narod.ru/spr_2004.htm" "$EXEDIR\spr4.htm" /end + Pop $0 # return value = exit code, "OK" means OK + +; single file, NSISdl-style embedded progress bar with specific cancel button text + inetc::get /caption "2005 report" /canceltext "interrupt!" "http://ineum.narod.ru/spr_2005.htm" "$EXEDIR\spr5.htm" /end + Pop $1 # return value = exit code, "OK" means OK + +; banner with 2 text lines and disabled Cancel button + inetc::get /caption "2006 report" /banner "Banner mode with /nocancel option setten$\nSecond Line" /nocancel "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\spr6.htm" /end + Pop $2 # return value = exit code, "OK" means OK + + MessageBox MB_OK "Download Status: $0, $1, $2" +SectionEnd + + +;-------------------------------- +;Installer Functions + +Function .onInit + +; plug-in auto-recognizes 'no parent dlg' in onInit and works accordingly +; inetc::head /RESUME "Network error. Retry?" "http://ineum.narod.ru/spr_2003.htm" "$EXEDIR\spr3.txt" +; Pop $4 + +FunctionEnd \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm new file mode 100644 index 000000000..40e0f4766 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm @@ -0,0 +1,140 @@ +<div style="border:solid 1px black;padding:10px;width:300px"> +<h2>Contents</h2> +<UL> +<LI>1 Links +<LI>2 Description +<LI>3 Command line +<UL> +<LI>3.1 get DLL Function +<LI>3.2 post DLL Function +<LI>3.3 head DLL Function +<LI>3.4 put DLL Function +</UL> +<LI>4 Examples +<LI>5 Credits +</UL> +</div> + +<h2>Links</h2> +Download: <a href="http://nsis.sourceforge.net/Inetc_plug-in">http://nsis.sourceforge.net/Inetc_plug-in</a> + +<h2>Description</h2> +Internet client plug-in for files download and upload. Based on the InetLoad plug-in. +Network implementation uses MS WinInet API, supports http/https and ftp protocols. +Plugin has better proxy support compare to NSISdl plug-in. Command line may include +few URL/File pairs to be transfered. If server or proxy login/password are not setten in the script, +displays IE-style authentication dialog (except silent mode). Plug-in supports 3 +"transfer in progress" display modes: +<UL> +<LI>old NSISdl style - additional embedded progress bar and text on the INSTFILES page; +<LI>POPUP dialog mode with detailed info; +<LI>BANNER mode with simple popup window. +</UL> +Plug-in recognizes Installer's Silent mode and this case hides any output (this feature +requires NSIS 2.03 or later). Program implements simple re-get functionality - host +reconnect and download from current position after short pause. While program depends on IE settings, +it changes current IE mode to online. NSISdl code fragment was used for progress bar displaying +in the "old style" mode. For ftp use "host/path" for file location relative to user's home dir and +"host//path" for absolute path. + +<h2>Command line</h2> + +Plug-in DLL functions (entry points): get, post, head, put + +<h3>get DLL Function </h3> + +<i>inetc::get [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOCOOKIES] + [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] + [/CAPTION TEXT] [/NOCOOKIES] [/RESUME RETRY_QUESTION] [/POPUP HOST_ALIAS | /BANNER TEXT] + [/CANCELTEXT CANCEL_TEXT] [/QUESTION CANCEL_QUESTION] [/USER_AGENT USER_AGENT_TEXT] + [/HEADER HEADER_TEXT] [/TRANSLATE LANG_PARAMS] + URL1 local_file1 [URL2 local_file2 [...]] [/END]</i> +<p>This call returns "OK" string if successful, error description string if failed (see included InetLoad.cpp file for a full set of status strings). Usage and result processing samples are included to the package. +<p>/PROXY - +Overwrites current proxy settings, not required in most cases. IE settings will be used by default. +<p>/USERNAME - +Proxy username (http only). +<p>/PASSWORD - +Proxy password (http only). For server (http/ftp) authentication it is possible to use URL encoded name and password, for example http://username:password@nsis.sourceforge.net. +<p>/NOPROXY - +Disables proxy settings for this connection (if any) +<p>/NOCANCEL - +Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling, removes sysmenu) +<p>/CONNECTTIMEOUT - +Sets INTERNET_OPTION_CONNECT_TIMEOUT, seconds, default - IE current parameter value. +<p>/RECEIVETIMEOUT - +Sets INTERNET_OPTION_RECEIVE_TIMEOUT, seconds, default - IE current parameter value. +<p>/SILENT - +Key hides plug-in' output (both popup dialog and embedded progress bar). Not required if 'SilentInstall silent' mode was defined in script (NSIS 2.03 or later). +<p>/RESUME - +On the permanent connection/transfer error instead of exit first displays message box with "resume download" question. Useful for dial-up connections and big files - allows user to restore connection and resume download. Default is "Your internet connection seems to have dropped out!\nPlease reconnect and click Retry to resume downloading...". +<p>/CAPTION - +Defines caption text for /BANNER mode, caption prefix (left of '-') for /POPUP mode and caption for RESUME MessageBox. Default is "InetLoad plug-in" if not set or "". 127 chars maximum. +<p>/POPUP - +This mode displays detailed download dialog instead of embedded progress bar. Also useful in .onInit function (i.e. not in Section). If HOST_ALIAS is not "", text will replace URL in the dialog - this allows to hide real URL (including password). +<p>/BANNER - +Displays simple popup dialog (MSI Banner mode) and sets dialog TEXT (up to 3 lines using $\n). +<p>/CANCELTEXT - +Text for the Cancel button in the NSISdl mode. Default is NSIS dialog Cancel button text (current lang). +<p>/QUESTION - +Text for the optional MessageBox if user tries to cancel download. If /QUESTION "" was used default +"Are you sure that you want to stop download?" will be substituted. +<p>/USERAGENT - +UserAgent http request header value. Default is "NSIS_Inetc (Mozilla)". 256 chars maximum. +<p>/HEADER - +Adds or replaces http request header. Common HEADER_TEXT format is "header: value". +<p>/NOCOOKIES - +Removes cookies from http request +<p>/END - +Allows to limit plug-in stack reading (optional, required if you stores other vars in the stack). +<p>/TRANSLATE - +Allows translating plug-in text in the POPUP or NSISdl modes. 8 parameters both cases.<br> + +NSISdl mode parameters:<br> + /TRANSLATE downloading connecting second minute hour plural progress remaining<br> +With default values:<br> + "Downloading %s" "Connecting ..." second minute hour s "%dkB (%d%%) of %dkB @ %d.%01dkB/s" "(%d %s%s remaining)"<br> + +POPUP mode parameters:<br> + /TRANSLATE url downloading connecting file_name received file_size remaining_time total_time<br> +With default values:<br> + URL Downloading Connecting "File Name" Received "File Size" "Remaining Time" "Total Time"<br> + +<h3>post DLL Function </h3> + +<i>inetc::post TEXT2POST [/FILE] [/PROXY IP:PORT] [/NOPROXY] [/NOCANCEL] + [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/TIMEOUT INT_MS] [/SILENT] + [/CAPTION TEXT] [/POPUP | /BANNER TEXT] [/CANCELTEXT CANCEL_TEXT] + [/USER_AGENT USER_AGENT_TEXT] [/TRANSLATE LANG_PARAMS] + URL1 local_file1 [URL2 local_file2 [...]] [/END]</i> +<p>Sets POST http mode and defines text string to be used in the POST (http only). Disables auto re-get. No char replaces used (%20 and others). +If /FILE presents in command line, TEXT2POST is filename to be sent in POST request. Also 'Filename:' header will be added to HTTP headers. + +<h3>head DLL Function </h3> + +The same as get, but requests http headers only. Writes raw headers to file. + +<h3>put DLL Function </h3> + +<i>inetc::put [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOPROXY] + [/NOCANCEL] [/TIMEOUT INT_MS] [/SILENT] [/CAPTION TEXT] [/POPUP | /BANNER TEXT] + [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] + [/TRANSLATE LANG_PARAMS] URL1 local_file1 [URL2 local_file2 [...]] [/END]</i> +<p>Return value and parameters (if applicable) are the same as for previous entry point. + +<h2>Examples </h2> +<pre> inetc::get "http://dl.zvuki.ru/6306/mp3/12.mp3" "$EXEDIR\12.mp3" \ + "ftp://dl.zvuki.ru/6306/mp3/11.mp3" "$EXEDIR\11.mp3" + Pop $0 + inetc::put /BANNER "Cameron Diaz upload in progress..." \ + "http://www.dreamgirlswallpaper.co.uk/fiveyearsonline/wallpaper/Cameron_Diaz/camerond09big.JPG" \ + "$EXEDIR\cd.jpg" + Pop $0 + StrCmp $0 "OK" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "http upload Error, click OK to abort installation" /SD IDOK + Abort +dlok: + ...</pre> + +<h2>Credits</h2> +Many thanks to Backland who offered a simple way to fix NSISdl mode crashes and added 'center parent' function. diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi new file mode 100644 index 000000000..b322f421b --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi @@ -0,0 +1,31 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc http auth Test" +OutFile "auth_dlg.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; Displays IE auth dialog. +; Both server and proxy auth. +; Please test this with your own link. + + inetc::get "http://www.cnt.ru/personal" "$EXEDIR\auth.html" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi new file mode 100644 index 000000000..5e15776f1 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi @@ -0,0 +1,31 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc ftp authentication Test" +OutFile "ftp_auth.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; use your own URL and login@pwd. Password hidden from user with /popup "ALIAS" + + inetc::get /caption "service pack download" /popup "ftp://localhost/" "ftp://login:pwd@localhost/W2Ksp3.exe" "$EXEDIR\sp3.exe" +; inetc::put /caption "service pack upload" /popup "" "ftp://login:pwd@localhost/W2Ksp3.bu.exe" "$EXEDIR\sp3.exe" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi new file mode 100644 index 000000000..2ad7ff702 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi @@ -0,0 +1,29 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Head Test" +OutFile "head.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + + DetailPrint "New version check out (internet connection)" + inetc::head /silent "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\head.txt" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd + + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi new file mode 100644 index 000000000..1eb77c2a0 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi @@ -0,0 +1,31 @@ + +;-------------------------------- +; General Attributes + +Name "Headers Test" +OutFile "headers.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; additional headers. Sample php returns raw headers + inetc::get /useragent "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)" /header "SOAPAction: urn:anonOutInOpe" "http://localhost/headers.php" "$EXEDIR\headers.html" + Pop $0 + + MessageBox MB_OK "Download Status: $0" + +SectionEnd + + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php new file mode 100644 index 000000000..e33b0d8ed --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php @@ -0,0 +1,7 @@ +<?php +$headers = apache_request_headers(); + +foreach ($headers as $header => $value) { + echo "$header: $value <br />\n"; +} +?> \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi new file mode 100644 index 000000000..ccf7c58b3 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi @@ -0,0 +1,26 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc https Test" +OutFile "https.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + + inetc::get /POPUP "" /CAPTION "bending_property_demo.zip" "https://secure.codeproject.com/cs/miscctrl/bending_property/bending_property_src.zip" "$EXEDIR\bending_property_src.zip" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp new file mode 100644 index 000000000..fcea2778b --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp @@ -0,0 +1,1622 @@ +/******************************************************* +* FILE NAME: inetc.cpp +* +* Copyright 2004 - Present NSIS +* +* PURPOSE: +* ftp/http file download plug-in +* on the base of MS Inet API +* 4 GB limit (http support?) +* +* CHANGE HISTORY +* +* Author Date Modifications +* Takhir Bedertdinov +* Nov 11, 2004 Original +* Dec 17, 2004 Embedded edition - +* NSISdl GUI style as default +* (nsisdl.cpp code was partly used) +* Dec 17, 2004 MSI Banner style +* Feb 20, 2005 Resume download +* feature for big files and bad connections +* Mar 05, 2005 Proxy authentication +* and /POPUP caption prefix option +* Mar 25, 2005 Connect timeout option +* and FTP switched to passive mode +* Apr 18, 2005 Crack URL buffer size +* bug fixed (256->string_size) +* HTTP POST added +* Jun 06, 2005 IDOK on "Enter" key locked +* POST HTTP header added +* Jun 22, 2005 non-interaptable mode /nocancel +* and direct connect /noproxy +* Jun 29, 2005 post.php written and tested +* Jul 05, 2005 60 sec delay on WinInet detach problem +* solved (not fine, but works including +* installer exit and system reboot) +* Jul 08, 2005 'set foreground' finally removed +* Jul 26, 2005 POPUP translate option +* Aug 23, 2005 https service type in InternetConnect +* and "ignore certificate" flags +* Sep 30, 2005 https with bad certificate from old OS; +* Forbidden handling +* Dec 23, 2005 'put' entry point, new names, 12003 +* ftp error handling (on ftp write permission) +* 405 http error (method not allowed) +* Mar 12, 2006 Internal authorization via InternetErrorDlg() +* and Unauthorized (401) handling. +* Jun 10, 2006 Caption text option for Resume download +* MessageBox +* Jun 24, 2006 HEAD method, silent mode clean up +* Sep 05, 2006 Center dialog code from Backland +* Sep 07, 2006 NSISdl crash fix /Backland idea/ +* Sep 08, 2006 POST as dll entry point. +* Sep 21, 2006 parent dlg progr.bar style and font, +* nocancel via ws_sysmenu +* Sep 22, 2006 current lang IDCANCEL text, /canceltext +* and /useragent options +* Sep 24, 2006 .onInit improvements and defaults +* Nov 11, 2006 FTP path creation, root|current dir mgmt +* Jan 01, 2007 Global char[] cleanup, GetLastError() to +* status string on ERR_DIALOG, few MSVCRT replaces +* Jan 13, 2007 /HEADER option added +* Jan 28, 2007 _open -> CreateFile and related +* Feb 18, 2007 Speed calculating improved (pauses), +* /popup text parameter to hide URL +* Jun 07, 2007 Local file truncation added for download +* (CREATE_ALWAYS) +* Jun 11, 2007 FTP download permitted even if server rejects +* SIZE request (ProFTPD). +* Aug 11, 2007 Backland' fix for progress bar redraw/style +* issue in NSISdl display mode. +* Jan 09, 2008 {_trueparuex^}' fix - InternetSetFilePointer() +* returns -1 on error. +* /question option added for cancel question. +* Feb 15, 2008 PUT content-length file size fix +* Feb 17, 2008 char -> TCHAR replace for UNICODE option +* Feb 19, 2008 janekschwarz fix for HTTP PUT with auth +* CreateFile INVALID_HANDLE_VALUE on error fix +* Feb 20, 2008 base64 encoder update for unicode +* Feb 27, 2008 Unicode configurations added to VS 6 dsp +* Mar 20, 2008 HTTP PUT with proxy auth finally fixed +* FTP errors handling improved. +* HEAD bug fixed +* Mar 27, 2008 Details window hide/show in NSISdl mode +* Apr 10, 2008 Auth test method changed to HEAD for +* old proxy's +* Apr 30, 2008 InternetErrorDlg() ERROR_SUCESS on cancel +* click patched +* 3xx errors added to status list. +* May 20, 2008 InternetReadFile on cable disconnect patched +* May 20, 2008 Reply status "0" patch (name resolution?) +* Jul 15, 2008 HTTP 304 parsing. Incorrect size reported fix. +* Aug 21, 2009 Escape sequence convertion removed (caused +* error in signature with %2b requests) +* Marqueue progess bar style for unknown file size. +* Feb 04, 2010 Unicode POST patch - body converted to multibyte +* Jul 11, 2010 /FILE POST option added +* Nov 04, 2010 Disabled cookies and cache for cleanliness +* Feb 14, 2011 Fixed reget bug introduced in previous commit +* Feb 18, 2011 /NOCOOKIES option added +* Mar 02, 2011 User-agent buffer increased. Small memory leak fix +* Mar 23, 2011 Use caption on embedded progressbar - zenpoy +* Apr 05, 2011 reget fix - INTERNET_FLAG_RELOAD for first connect only +* Apr 27, 2011 /receivetimeout option added for big files and antivirus +* Jun 15, 2011 Stack clean up fix on cancel - zenpoy +* Oct 19, 2011 FTP PUT error parsing fix - tperquin +*******************************************************/ + + +#define _WIN32_WINNT 0x0500 + +#include <windows.h> +#include <tchar.h> +#include <wininet.h> +#include <commctrl.h> +#include "exdll.h" +#include "resource.h" + +#ifndef PBM_SETMARQUEE +#define PBM_SETMARQUEE (WM_USER + 10) +#define PBS_MARQUEE 0x08 +#endif + +// IE 4 safety and VS 6 compatibility +typedef BOOL (__stdcall *FTP_CMD)(HINTERNET,BOOL,DWORD,LPCTSTR,DWORD,HINTERNET *); +FTP_CMD myFtpCommand; + +#define PLUGIN_NAME _T("Inetc plug-in") +#define INETC_USERAGENT _T("NSIS_Inetc (Mozilla)") +#define PB_RANGE 400 // progress bar values range +#define PAUSE1_SEC 2 // transfer error indication time, for reget only +#define PAUSE2_SEC 3 // paused state time, increase this if need (60?) +#define PAUSE3_SEC 1 // pause after resume button pressed +#define NOT_AVAILABLE 0xffffffff +#define POST_HEADER _T("Content-Type: application/x-www-form-urlencoded") +#define PUT_HEADER _T("Content-Type: octet-stream\nContent-Length: %d") +#define INTERNAL_OK 0xFFEE +#define PROGRESS_MS 1000 // screen values update interval +#define DEF_QUESTION _T("Are you sure that you want to stop download?") +#define HOST_AUTH_HDR _T("Authorization: basic %s") +#define PROXY_AUTH_HDR _T("Proxy-authorization: basic %s") + +//#define MY_CERT_FLAGS SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_CERT_CN_INVALID +#define MY_CERT_FLAGS SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION +#define MY_REDIR_FLAGS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS +#define MY_HTTPS_FLAGS (MY_CERT_FLAGS | MY_REDIR_FLAGS | INTERNET_FLAG_SECURE) + +enum STATUS_CODES { + ST_OK = 0, + ST_CONNECTING, + ST_DOWNLOAD, + ST_CANCELLED, + ST_URLOPEN, + // ST_OPENING, + ST_PAUSE, + ERR_TERMINATED, + ERR_DIALOG, + ERR_INETOPEN, + ERR_URLOPEN, + ERR_TRANSFER, + ERR_FILEOPEN, + ERR_FILEWRITE, + ERR_FILEREAD, + ERR_REGET, + ERR_CONNECT, + ERR_OPENREQUEST, + ERR_SENDREQUEST, + ERR_CRACKURL, + ERR_NOTFOUND, + ERR_THREAD, + ERR_PROXY, + ERR_FORBIDDEN, + ERR_NOTALLOWED, + ERR_REQUEST, + ERR_SERVER, + ERR_AUTH, + ERR_CREATEDIR, + ERR_PATH, + ERR_NOTMODIFIED, + ERR_REDIRECTION +}; + + +static TCHAR szStatus[][32] = { + _T("OK"),_T("Connecting"),_T("Downloading"),_T("Cancelled"),_T("Connecting"), //_T("Opening URL")), + _T("Reconnect Pause"),_T("Terminated"),_T("Dialog Error"),_T("Open Internet Error"), + _T("Open URL Error"),_T("Transfer Error"),_T("File Open Error"),_T("File Write Error"),_T("File Read Error"), + _T("Reget Error"),_T("Connection Error"),_T("OpenRequest Error"),_T("SendRequest Error"), + _T("URL Parts Error"),_T("File Not Found (404)"),_T("CreateThread Error"),_T("Proxy Error (407)"), + _T("Access Forbidden (403)"),_T("Not Allowed (405)"),_T("Request Error"),_T("Server Error"), + _T("Unauthorized (401)"),_T("FtpCreateDir failed (550)"),_T("Error FTP path (550)"),_T("Not Modified"), + _T("Redirection") +}; + +HINSTANCE g_hInstance; +TCHAR fn[MAX_PATH]=_T(""), +*url = NULL, +*szAlias = NULL, +*szProxy = NULL, +*szHeader = NULL, +*szBanner = NULL, +*szQuestion = NULL, +szCancel[64]=_T(""), +szCaption[128]=_T(""), +szUserAgent[256]=_T(""), +szResume[256] = _T("Your internet connection seems to be not permitted or dropped out!\nPlease reconnect and click Retry to resume installation."); +CHAR *szPost = NULL, +post_fname[MAX_PATH] = ""; +DWORD fSize = 0; + +int status; +DWORD cnt = 0, +fs = 0, +timeout = 0, +receivetimeout = 0; +DWORD startTime, transfStart, openType; +bool silent, popup, resume, nocancel, noproxy, nocookies; + +HWND childwnd; +HWND hDlg; +bool fput = false, fhead = false; + + +/***************************************************** +* FUNCTION NAME: sf(HWND) +* PURPOSE: +* moves HWND to top and activates it +* SPECIAL CONSIDERATIONS: +* commented because annoying +*****************************************************/ +/* +void sf(HWND hw) +{ +DWORD ctid = GetCurrentThreadId(); +DWORD ftid = GetWindowThreadProcessId(GetForegroundWindow(), NULL); +AttachThreadInput(ftid, ctid, TRUE); +SetForegroundWindow(hw); +AttachThreadInput(ftid, ctid, FALSE); +} +*/ + +static TCHAR szUrl[64] = _T(""); +static TCHAR szDownloading[64] = _T("Downloading %s"); +static TCHAR szConnecting[64] = _T("Connecting ..."); +static TCHAR szSecond[64] = _T("second"); +static TCHAR szMinute[32] = _T("minute"); +static TCHAR szHour[32] = _T("hour"); +static TCHAR szPlural[32] = _T("s"); +static TCHAR szProgress[128] = _T("%dkB (%d%%) of %dkB @ %d.%01dkB/s"); +static TCHAR szRemaining[64] = _T(" (%d %s%s remaining)"); +static TCHAR szBasic[128] = _T(""); +static TCHAR szAuth[128] = _T(""); + +// is it possible to make it working with unicode strings? + +/* Base64 encode one byte */ +static TCHAR encode(unsigned char u) { + + if(u < 26) return _T('A')+u; + if(u < 52) return _T('a')+(u-26); + if(u < 62) return _T('0')+(u-52); + if(u == 62) return _T('+'); + return _T('/'); +} + +TCHAR *encode_base64(int size, TCHAR *src, TCHAR *dst) { + + int i; + TCHAR *p; + + if(!src) + return NULL; + + if(!size) + size= lstrlen(src); + + p = dst; + + for(i=0; i<size; i+=3) { + + unsigned char b1=0, b2=0, b3=0, b4=0, b5=0, b6=0, b7=0; + + b1 = (unsigned char)src[i]; + + if(i+1<size) + b2 = (unsigned char)src[i+1]; + + if(i+2<size) + b3 = (unsigned char)src[i+2]; + + b4= b1>>2; + b5= ((b1&0x3)<<4)|(b2>>4); + b6= ((b2&0xf)<<2)|(b3>>6); + b7= b3&0x3f; + + *p++= encode(b4); + *p++= encode(b5); + + if(i+1<size) { + *p++= encode(b6); + } else { + *p++= _T('='); + } + + if(i+2<size) { + *p++= encode(b7); + } else { + *p++= _T('='); + } + + } + + return dst; +} + +/***************************************************** +* FUNCTION NAME: fileTransfer() +* PURPOSE: +* http/ftp file transfer itself +* for any protocol and both directions I guess +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +void fileTransfer(HANDLE localFile, + HINTERNET hFile) +{ + byte data_buf[1024*8]; + byte *dw; + DWORD rslt = 0; + DWORD bytesDone; + + status = ST_DOWNLOAD; + while(status == ST_DOWNLOAD) + { + if(fput) + { + if(!ReadFile(localFile, data_buf, rslt = sizeof(data_buf), &bytesDone, NULL)) + { + status = ERR_FILEREAD; + break; + } + if(bytesDone == 0) // EOF reached + { + status = ST_OK; + break; + } + while(bytesDone > 0) + { + dw = data_buf; + if(!InternetWriteFile(hFile, dw, bytesDone, &rslt) || rslt == 0) + { + status = ERR_TRANSFER; + break; + } + dw += rslt; + cnt += rslt; + bytesDone -= rslt; + } + } + else + { + if(!InternetReadFile(hFile, data_buf, sizeof(data_buf), &rslt)) + { + status = ERR_TRANSFER; + break; + } + if(rslt == 0) // EOF reached or cable disconnect + { +// on cable disconnect returns TRUE and 0 bytes. is cnt == 0 OK (zero file size)? +// cannot check this if reply is chunked (no content-length, http 1.1) + status = (fs != NOT_AVAILABLE && cnt < fs) ? ERR_TRANSFER : ST_OK; + break; + } + if(!WriteFile(localFile, data_buf, rslt, &bytesDone, NULL) || + rslt != bytesDone) + { + status = ERR_FILEWRITE; + break; + } + cnt += rslt; + } + } +} + +/***************************************************** +* FUNCTION NAME: mySendRequest() +* PURPOSE: +* HttpSendRequestEx() sends headers only - for PUT +* We also can use InetWriteFile for POST body I guess +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +int mySendRequest(HINTERNET hFile) +{ + INTERNET_BUFFERS BufferIn = {0}; + if(fput) + { + BufferIn.dwStructSize = sizeof( INTERNET_BUFFERS ); + BufferIn.dwBufferTotal = fs; + return HttpSendRequestEx( hFile, &BufferIn, NULL, HSR_INITIATE, 0); + } + return HttpSendRequest(hFile, NULL, 0, szPost, fSize); +} + +/***************************************************** +* FUNCTION NAME: queryStatus() +* PURPOSE: +* http status code comes before download (get) and +* after upload (put), so this is called from 2 places +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +bool queryStatus(HINTERNET hFile) +{ + TCHAR buf[256] = _T(""); + DWORD rslt; + if(HttpQueryInfo(hFile, HTTP_QUERY_STATUS_CODE, + buf, &(rslt = sizeof(buf)), NULL)) + { + buf[3] = 0; + if(lstrcmp(buf, _T("0")) == 0 || *buf == 0) + status = ERR_SENDREQUEST; + else if(lstrcmp(buf, _T("401")) == 0) + status = ERR_AUTH; + else if(lstrcmp(buf, _T("403")) == 0) + status = ERR_FORBIDDEN; + else if(lstrcmp(buf, _T("404")) == 0) + status = ERR_NOTFOUND; + else if(lstrcmp(buf, _T("407")) == 0) + status = ERR_PROXY; + else if(lstrcmp(buf, _T("405")) == 0) + status = ERR_NOTALLOWED; + else if(lstrcmp(buf, _T("304")) == 0) + status = ERR_NOTMODIFIED; + else if(*buf == _T('3')) + { + status = ERR_REDIRECTION; + wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); + } + else if(*buf == _T('4')) + { + status = ERR_REQUEST; + wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); + } + else if(*buf == _T('5')) + { + status = ERR_SERVER; + wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); + } + return true; + } + return false; +} + +/***************************************************** +* FUNCTION NAME: openFtpFile() +* PURPOSE: +* control connection, size request, re-get lseek +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +HINTERNET openFtpFile(HINTERNET hConn, + TCHAR *path) +{ + TCHAR buf[256] = _T(""), *movp; + HINTERNET hFile; + DWORD rslt, err, gle; + bool https_req_ok = false; + + /* reads connection / auth responce info and cleares 'control' buffer this way */ + InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); + if(cnt == 0) + { + if(!fput) // we know local file size already + { + /* too clever myFtpCommand returnes false on the valid _T("550 Not found/Not permitted" server answer, + to read answer I had to ignory returned false (!= 999999) :-( + GetLastError also possible, but MSDN description of codes is very limited */ + wsprintf(buf, _T("SIZE %s"), path + 1); + if(myFtpCommand != NULL && + myFtpCommand(hConn, false, FTP_TRANSFER_TYPE_ASCII, buf, 0, &hFile) != 9999 && + memset(buf, 0, sizeof(buf)) != NULL && + InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf)))) + { + if(_tcsstr(buf, _T("213 "))) + { + fs = _tcstol(_tcschr(buf, _T(' ')) + 1, NULL, 0); + } + /* stupid ProFTPD returns error on SIZE request. let's continue without size. + But IE knows some trick to get size from ProFTPD...... + else if(_tcsstr(buf, _T("550 _T(")) + { + status = ERR_SIZE_NOT_PERMITTED; + return NULL; + } + */ + } + if(fs == 0) + { + fs = NOT_AVAILABLE; + } + + } + } + else + { + wsprintf(buf, _T("REST %d"), cnt); + if(myFtpCommand == NULL || + !myFtpCommand(hConn, false, FTP_TRANSFER_TYPE_BINARY, buf, 0, &hFile) || + memset(buf, 0, sizeof(buf)) == NULL || + !InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))) || + (_tcsstr(buf, _T("350")) == NULL && _tcsstr(buf, _T("110")) == NULL)) + { + status = ERR_REGET; + return NULL; + } + } + if((hFile = FtpOpenFile(hConn, path + 1, fput ? GENERIC_WRITE : GENERIC_READ, + FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD,0)) == NULL) + { + gle = GetLastError(); + *buf = 0; + InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); + // wrong path - dir may not exist or upload may be not allowed + // we use ftp://host//path (double /) to define path from FS root + if(fput && (_tcsstr(buf, _T("550")) != NULL || _tcsstr(buf, _T("553")) != NULL)) + { + + movp = path + 1; + if(*movp == _T('/')) movp++; // don't need to creat root + while(_tcschr(movp, _T('/'))) + { + *_tcschr(movp,_T('/')) = 0; + FtpCreateDirectory(hConn, path + 1); + InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); + *(movp + lstrlen(movp)) = _T('/'); + movp = _tcschr(movp, _T('/')) + 1; + } + if(status != ERR_CREATEDIR && + (hFile = FtpOpenFile(hConn, path + 1, GENERIC_WRITE, + FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD,0)) == NULL) + { + status = ERR_PATH; + if(InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf)))) + lstrcpyn(szStatus[status], _tcsstr(buf, _T("550")), sizeof(szStatus[0]) / sizeof(TCHAR)); + } + } + // may be firewall related error, let's give user time to disable it + else if(gle == 12003) + { + if(_tcsstr(buf, _T("550"))) + { + status = ERR_NOTFOUND; + lstrcpyn(szStatus[status], _tcsstr(buf, _T("550")), sizeof(szStatus[0]) / sizeof(TCHAR)); + } + else + { + lstrcpyn(szStatus[status], buf, sizeof(szStatus[0]) / sizeof(TCHAR)); + } + } + // timeout (firewall or dropped connection problem) + else if(gle == 12002) + { + if(!silent) + resume = true; + status = ERR_URLOPEN; + } + } + else InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); + return hFile; +} + + +/***************************************************** +* FUNCTION NAME: openHttpFile() +* PURPOSE: +* file open, size request, re-get lseek +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +HINTERNET openHttpFile(HINTERNET hConn, + INTERNET_SCHEME nScheme, + TCHAR *path) +{ + TCHAR buf[256] = _T(""); + HINTERNET hFile; + DWORD rslt, err; + bool first_attempt = true;; + +// test connection for PUT, the only way to do this before sending data +// OPTIONS fails on HttpOpenRequest step for HTTPS +// but works for HEAD I guess + if(fput)// && nScheme != INTERNET_SCHEME_HTTPS) + { +// old proxy's may not support OPTIONS request, so changed to HEAD.... + if((hFile = HttpOpenRequest(hConn, _T("HEAD"), path, NULL, NULL, NULL, +// if((hFile = HttpOpenRequest(hConn, _T("OPTIONS"), path, NULL, NULL, NULL, + INTERNET_FLAG_RELOAD | INTERNET_FLAG_KEEP_CONNECTION | + (nocookies ? (INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_COOKIES) : 0), 0)) != NULL) + { + if(*szAuth) + { + wsprintf(buf, PROXY_AUTH_HDR, szAuth); + HttpAddRequestHeaders(hFile, buf, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + } +resend_proxy1: + if(*szBasic) + { + wsprintf(buf, HOST_AUTH_HDR, szBasic); + HttpAddRequestHeaders(hFile, buf, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + } +resend_auth1: + if(HttpSendRequest(hFile, NULL, 0, NULL, 0)) + { + queryStatus(hFile); +// may be don't need to read all from socket, but this looks safer + while(InternetReadFile(hFile, buf, sizeof(buf), &rslt) && rslt > 0) {} + if(!silent && (status == ERR_PROXY || status == ERR_AUTH))// || status == ERR_FORBIDDEN)) + { + rslt = InternetErrorDlg(hDlg, hFile, + ERROR_INTERNET_INCORRECT_PASSWORD, + FLAGS_ERROR_UI_FILTER_FOR_ERRORS | + FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | + FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, + NULL); + if (rslt == ERROR_INTERNET_FORCE_RETRY) + { + status = ST_URLOPEN; + if(status == ERR_PROXY) goto resend_proxy1; + else goto resend_auth1; + } + else + { + status = ST_CANCELLED; + } + + } + // no such file is OK for PUT. server first checks authentication + if(status == ERR_NOTFOUND || status == ERR_FORBIDDEN || status == ERR_NOTALLOWED) + { +// MessageBox(childwnd, _T("NOT_FOUND"), "", 0); + status = ST_URLOPEN; + } + // parameters might be updated during dialog popup + if(status == ST_URLOPEN) + { + *buf = 0; + if(HttpQueryInfo(hFile, HTTP_QUERY_AUTHORIZATION, buf, &(rslt = sizeof(buf)), NULL) && *buf) + lstrcpyn(szBasic, buf, rslt); + *buf = 0; + if(HttpQueryInfo(hFile, HTTP_QUERY_PROXY_AUTHORIZATION, buf, &(rslt = sizeof(buf)), NULL) && *buf) + lstrcpyn(szAuth, buf, rslt); + } + } + else status = ERR_SENDREQUEST; + InternetCloseHandle(hFile); + } + else status = ERR_OPENREQUEST; + } +// request itself + if(status == ST_URLOPEN) + { + if((hFile = HttpOpenRequest(hConn, fput ? _T("PUT") : (fhead ? _T("HEAD") : (szPost ? _T("POST") : NULL)), + path, NULL, NULL, NULL, + // INTERNET_FLAG_RELOAD conflicts with reget - hidden re-read from beginning has place + // INTERNET_FLAG_RESYNCHRONIZE // note - sync may not work with some http servers + // reload on first connect (and any req. except GET), just continue on resume. + // HTTP Proxy still is a problem for reget + (cnt ? 0 : INTERNET_FLAG_RELOAD) + | INTERNET_FLAG_KEEP_CONNECTION | + (nocookies ? (INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_COOKIES) : 0) | + (nScheme == INTERNET_SCHEME_HTTPS ? MY_HTTPS_FLAGS : 0), 0)) != NULL) + { + if(*szAuth) + { + wsprintf(buf, PROXY_AUTH_HDR, szAuth); + HttpAddRequestHeaders(hFile, buf, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + } +resend_proxy2: + if(szPost != NULL) + HttpAddRequestHeaders(hFile, POST_HEADER, + -1, HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + if(*post_fname) + HttpAddRequestHeadersA(hFile, post_fname, + -1, HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + if(szHeader != NULL) + HttpAddRequestHeaders(hFile, szHeader, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + if(*szBasic) + { + wsprintf(buf, HOST_AUTH_HDR, szBasic); + HttpAddRequestHeaders(hFile, buf, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + } + if(fput) + { + wsprintf(buf, PUT_HEADER, fs); + HttpAddRequestHeaders(hFile, buf, -1, + HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); + } +resend_auth2: + first_attempt = true; + if(nScheme == INTERNET_SCHEME_HTTPS) + { + if(!mySendRequest(hFile)) + { + InternetQueryOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, + (LPVOID)&rslt, &(err = sizeof(rslt))); + rslt |= MY_CERT_FLAGS; + InternetSetOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, + &rslt, sizeof(rslt) ); + } + else first_attempt = false; + } +// https Request answer may be after optional second Send only on Win98 + if(!first_attempt || mySendRequest(hFile)) + { +// no status for PUT - headers were sent only. And not need to get size / set position + if(!fput) + { + queryStatus(hFile); + if(!silent && (status == ERR_PROXY || status == ERR_AUTH)) + { + rslt = InternetErrorDlg(hDlg, hFile, + ERROR_INTERNET_INCORRECT_PASSWORD, + FLAGS_ERROR_UI_FILTER_FOR_ERRORS | + FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | + FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, + NULL); + if (rslt == ERROR_INTERNET_FORCE_RETRY) + { + status = ST_URLOPEN; + if(status == ERR_PROXY) goto resend_proxy2; + else goto resend_auth2; + } + else + status = ST_CANCELLED; + + } +// get size / set position + if(status == ST_URLOPEN) + { + if(cnt == 0) + { + if(HttpQueryInfo(hFile, HTTP_QUERY_CONTENT_LENGTH, buf, + &(rslt = sizeof(buf)), NULL)) + fs = _tcstoul(buf, NULL, 0); + else fs = NOT_AVAILABLE; + } + else + { + if((int)InternetSetFilePointer(hFile, cnt, NULL, FILE_BEGIN, 0) == -1) + status = ERR_REGET; + } + } + } + + } + else + { + if(!queryStatus(hFile)) + status = ERR_SENDREQUEST; + } + } + else status = ERR_OPENREQUEST; + } + return hFile; +} + +/***************************************************** +* FUNCTION NAME: inetTransfer() +* PURPOSE: +* http/ftp file transfer +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +DWORD __stdcall inetTransfer(void *hw) +{ + HINTERNET hSes, hConn, hFile; + HINSTANCE hInstance = NULL; + HANDLE localFile = NULL; + HWND hDlg = (HWND)hw; + DWORD lastCnt, rslt, err; + TCHAR hdr[2048]; + TCHAR *host = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), + *path = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), + *params = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), + *user = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), + *passwd = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)); + + URL_COMPONENTS uc = {sizeof(URL_COMPONENTS), NULL, 0, + (INTERNET_SCHEME)0, host, g_stringsize, 0 , user, g_stringsize, + passwd, g_stringsize, path, g_stringsize, params, g_stringsize}; + + if((hSes = InternetOpen(szUserAgent, openType, szProxy, NULL, 0)) != NULL) + { + if(InternetQueryOption(hSes, INTERNET_OPTION_CONNECTED_STATE, &(rslt=0), + &(lastCnt=sizeof(DWORD))) && + (rslt & INTERNET_STATE_DISCONNECTED_BY_USER)) + { + INTERNET_CONNECTED_INFO ci = {INTERNET_STATE_CONNECTED, 0}; + InternetSetOption(hSes, + INTERNET_OPTION_CONNECTED_STATE, &ci, sizeof(ci)); + } + if(timeout > 0) + lastCnt = InternetSetOption(hSes, INTERNET_OPTION_CONNECT_TIMEOUT, &timeout, sizeof(timeout)); + if(receivetimeout > 0) + InternetSetOption(hSes, INTERNET_OPTION_RECEIVE_TIMEOUT, &receivetimeout, sizeof(receivetimeout)); + // 60 sec WinInet.dll detach delay on socket time_wait fix + // if(hInstance = GetModuleHandle("wininet.dll")) + if(hInstance = LoadLibrary(_T("wininet.dll"))) + myFtpCommand = (FTP_CMD)GetProcAddress(hInstance, +#ifdef UNICODE + "FtpCommandW" +#else + "FtpCommandA" +#endif + ); + while(!popstring(url) && lstrcmpi(url, _T("/end")) != 0) + { + // too many customers requested not to do this + // sf(hDlg); + if(popstring(fn) != 0 || lstrcmpi(url, _T("/end")) == 0) break; + status = ST_CONNECTING; + cnt = fs = *host = *user = *passwd = *path = *params = 0; + PostMessage(hDlg, WM_TIMER, 1, 0); // show url & fn, do it sync + if((localFile = CreateFile(fn, fput ? GENERIC_READ : GENERIC_WRITE, FILE_SHARE_READ, + NULL, fput ? OPEN_EXISTING : CREATE_ALWAYS, 0, NULL)) != INVALID_HANDLE_VALUE) + { + uc.dwHostNameLength = uc.dwUserNameLength = uc.dwPasswordLength = + uc.dwUrlPathLength = uc.dwExtraInfoLength = g_stringsize; + if(fput) + { + fs = GetFileSize(localFile, NULL); + } + if(InternetCrackUrl(url, 0, 0/*ICU_ESCAPE*/ , &uc)) + { + // auth headers for HTTP PUT seems to be lost, preparing encoded login:password + if(*user && *passwd) + { + wsprintf(hdr, _T("%s:%s"), user, passwd); + // does unicode version of encoding works correct? + // are user and passwd ascii only? + encode_base64(lstrlen(hdr), hdr, szBasic); + *hdr = 0; + } + lstrcat(path, params); + transfStart = GetTickCount(); + do + { + // re-PUT to already deleted tmp file on http server is not possible. + // the same with POST - must re-send data to server. for 'resume' loop + if((fput && uc.nScheme != INTERNET_SCHEME_FTP) || szPost) + { + cnt = 0; + SetFilePointer(localFile, 0, NULL, SEEK_SET); + } + status = ST_CONNECTING; + lastCnt = cnt; + if((hConn = InternetConnect(hSes, host, uc.nPort, + lstrlen(user) > 0 ? user : NULL, + lstrlen(passwd) > 0 ? passwd : NULL, + uc.nScheme == INTERNET_SCHEME_FTP ? INTERNET_SERVICE_FTP : INTERNET_SERVICE_HTTP, + uc.nScheme == INTERNET_SCHEME_FTP ? INTERNET_FLAG_PASSIVE : 0, 0)) != NULL) + { + status = ST_URLOPEN; + hFile = uc.nScheme == INTERNET_SCHEME_FTP ? + openFtpFile(hConn, path) : openHttpFile(hConn, uc.nScheme, path); + if(status != ST_URLOPEN && hFile != NULL) + { + InternetCloseHandle(hFile); + hFile = NULL; + } + if(hFile != NULL) + { + if(fhead) + {// repeating calls clear headers.. + if(HttpQueryInfo(hFile, HTTP_QUERY_RAW_HEADERS_CRLF, hdr, &(rslt=2048), NULL)) + WriteFile(localFile, hdr, rslt, &lastCnt, NULL); + status = ST_OK; + } + else + { + HWND hBar = GetDlgItem(hDlg, IDC_PROGRESS1); + SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, 0, 0); + SetWindowText(GetDlgItem(hDlg, IDC_STATIC5), fs == NOT_AVAILABLE ? _T("Not Available") : _T("")); + SetWindowText(GetDlgItem(hDlg, IDC_STATIC4), fs == NOT_AVAILABLE ? _T("Unknown") : _T("")); + SetWindowLong(hBar, GWL_STYLE, fs == NOT_AVAILABLE ? + (GetWindowLong(hBar, GWL_STYLE) | PBS_MARQUEE) : (GetWindowLong(hBar, GWL_STYLE) & ~PBS_MARQUEE)); + SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETMARQUEE, (WPARAM)(fs == NOT_AVAILABLE ? 1 : 0), (LPARAM)50 ); + fileTransfer(localFile, hFile); + if(fput && uc.nScheme != INTERNET_SCHEME_FTP) + { + rslt = HttpEndRequest(hFile, NULL, 0, 0); + queryStatus(hFile); + } + } + InternetCloseHandle(hFile); + } + InternetCloseHandle(hConn); + } + else + { + status = ERR_CONNECT; + if(uc.nScheme == INTERNET_SCHEME_FTP && + InternetGetLastResponseInfo(&err, hdr, &(rslt = sizeof(hdr))) && + _tcsstr(hdr, _T("530"))) + { + lstrcpyn(szStatus[status], _tcsstr(hdr, _T("530")), sizeof(szStatus[0]) / sizeof(TCHAR)); + } + else + { + rslt = GetLastError(); + if((rslt == 12003 || rslt == 12002) && !silent) + resume = true; + } + } + } while(((!fput || uc.nScheme == INTERNET_SCHEME_FTP) && + cnt > lastCnt && + status == ERR_TRANSFER && + SleepEx(PAUSE1_SEC * 1000, false) == 0 && + (status = ST_PAUSE) != ST_OK && + SleepEx(PAUSE2_SEC * 1000, false) == 0) + || (resume && + status != ST_OK && + status != ST_CANCELLED && + status != ERR_NOTFOUND && + ShowWindow(hDlg, SW_HIDE) != -1 && + MessageBox(GetParent(hDlg), szResume, *szCaption ? szCaption : PLUGIN_NAME, MB_RETRYCANCEL|MB_ICONWARNING) == IDRETRY && + (status = ST_PAUSE) != ST_OK && + ShowWindow(hDlg, silent ? SW_HIDE : SW_SHOW) == false && + SleepEx(PAUSE3_SEC * 1000, false) == 0)); + } + else status = ERR_CRACKURL; + CloseHandle(localFile); + if(!fput && status != ST_OK) + { + rslt = DeleteFile(fn); + break; + } + } + else status = ERR_FILEOPEN; + } + InternetCloseHandle(hSes); + if (lstrcmpi(url, _T("/end"))==0) + pushstring(url); + } + else status = ERR_INETOPEN; + GlobalFree(host); + GlobalFree(path); + GlobalFree(user); + GlobalFree(passwd); + GlobalFree(params); + if(IsWindow(hDlg)) + PostMessage(hDlg, WM_COMMAND, MAKELONG(IDOK, INTERNAL_OK), 0); + return status; +} + +/***************************************************** +* FUNCTION NAME: fsFormat() +* PURPOSE: +* formats DWORD (max 4 GB) file size for dialog, big MB +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +void fsFormat(DWORD bfs, + TCHAR *b) +{ + if(bfs == NOT_AVAILABLE) + lstrcpy(b, _T("???")); + else if(bfs == 0) + lstrcpy(b, _T("0")); + else if(bfs < 10 * 1024) + wsprintf(b, _T("%u bytes"), bfs); + else if(bfs < 10 * 1024 * 1024) + wsprintf(b, _T("%u kB"), bfs / 1024); + else wsprintf(b, _T("%u MB"), (bfs / 1024 / 1024)); +} + + +/***************************************************** +* FUNCTION NAME: progress_callback +* PURPOSE: +* old-style progress bar text updates +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ + +void progress_callback(void) +{ + TCHAR buf[1024] = _T(""), b[1024] = _T(""); + int time_sofar = max(1, (GetTickCount() - transfStart) / 1000); + int bps = cnt / time_sofar; + int remain = (cnt > 0 && fs != NOT_AVAILABLE) ? (MulDiv(time_sofar, fs, cnt) - time_sofar) : 0; + TCHAR *rtext=szSecond; + if(remain < 0) remain = 0; + if (remain >= 60) + { + remain/=60; + rtext=szMinute; + if (remain >= 60) + { + remain/=60; + rtext=szHour; + } + } + wsprintf(buf, + szProgress, + cnt/1024, + fs > 0 && fs != NOT_AVAILABLE ? MulDiv(100, cnt, fs) : 0, + fs != NOT_AVAILABLE ? fs/1024 : 0, + bps/1024,((bps*10)/1024)%10 + ); + if (remain) wsprintf(buf + lstrlen(buf), + szRemaining, + remain, + rtext, + remain==1?_T(""):szPlural + ); + SetDlgItemText(hDlg, IDC_STATIC1, (cnt == 0 || status == ST_CONNECTING) ? szConnecting : buf); + if(fs > 0 && fs != NOT_AVAILABLE) + SendMessage(GetDlgItem(hDlg, IDC_PROGRESS1), PBM_SETPOS, MulDiv(cnt, PB_RANGE, fs), 0); + if (*szCaption == 0) + wsprintf(buf, szDownloading, + _tcschr(fn, _T('\\')) ? _tcsrchr(fn, _T('\\')) + 1 : fn); + else wsprintf(buf, _T("%s"),szCaption); + HWND hwndS = GetDlgItem(childwnd, 1006); + if(!silent && hwndS != NULL && IsWindow(hwndS)) + { + GetWindowText(hwndS, b, sizeof(b)); + if(lstrcmp(b, buf) != 0) + SetWindowText(hwndS, buf); + } +} + +/***************************************************** +* FUNCTION NAME: onTimer() +* PURPOSE: +* updates text fields every second +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +void onTimer(HWND hDlg) +{ + TCHAR b[128]; + DWORD ct = (GetTickCount() - transfStart) / 1000, + tt = (GetTickCount() - startTime) / 1000; + // dialog window caption + wsprintf(b, _T("%s - %s"), *szCaption ? szCaption : PLUGIN_NAME, szStatus[status]); + if(fs > 0 && fs != NOT_AVAILABLE && status == ST_DOWNLOAD) + { + wsprintf(b + lstrlen(b), _T(" %d%%"), MulDiv(100, cnt, fs)); + } + if(szBanner == NULL) SetWindowText(hDlg, b); + // current file and url + SetDlgItemText(hDlg, IDC_STATIC1, (szAlias && *szAlias) ? szAlias : url); + SetDlgItemText(hDlg, IDC_STATIC2, /*_tcschr(fn, '\\') ? _tcsrchr(fn, '\\') + 1 : */fn); + // bytes done and rate + if(cnt > 0) + { + fsFormat(cnt, b); + if(ct > 1 && status == ST_DOWNLOAD) + { + lstrcat(b, _T(" ( ")); + fsFormat(cnt / ct, b + lstrlen(b)); + lstrcat(b, _T("/sec )")); + } + } + else *b = 0; + SetDlgItemText(hDlg, IDC_STATIC3, b); + // total download time + wsprintf(b, _T("%d:%02d:%02d"), tt / 3600, (tt / 60) % 60, tt % 60); + SetDlgItemText(hDlg, IDC_STATIC6, b); + // file size, time remaining, progress bar + if(fs > 0 && fs != NOT_AVAILABLE) + { + fsFormat(fs, b); + SetDlgItemText(hDlg, IDC_STATIC5, b); + SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, MulDiv(cnt, PB_RANGE, fs), 0); + if(cnt > 5000) + { + ct = MulDiv(fs - cnt, ct, cnt); + wsprintf(b, _T("%d:%02d:%02d"), ct / 3600, (ct / 60) % 60, ct % 60); + } + else *b = 0; + SetWindowText(GetDlgItem(hDlg, IDC_STATIC4), b); + } +} + +/***************************************************** +* FUNCTION NAME: centerDlg() +* PURPOSE: +* centers dlg on NSIS parent +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +void centerDlg(HWND hDlg) +{ + HWND hwndParent = GetParent(hDlg); + RECT nsisRect, dlgRect, waRect; + int dlgX, dlgY, dlgWidth, dlgHeight; + + if(hwndParent == NULL || silent) + return; + if(popup) + GetWindowRect(hwndParent, &nsisRect); + else GetClientRect(hwndParent, &nsisRect); + GetWindowRect(hDlg, &dlgRect); + + dlgWidth = dlgRect.right - dlgRect.left; + dlgHeight = dlgRect.bottom - dlgRect.top; + dlgX = (nsisRect.left + nsisRect.right - dlgWidth) / 2; + dlgY = (nsisRect.top + nsisRect.bottom - dlgHeight) / 2; + + if(popup) + { + SystemParametersInfo(SPI_GETWORKAREA, 0, &waRect, 0); + if(dlgX > waRect.right - dlgWidth) + dlgX = waRect.right - dlgWidth; + if(dlgX < waRect.left) dlgX = waRect.left; + if(dlgY > waRect.bottom - dlgHeight) + dlgY = waRect.bottom - dlgHeight; + if(dlgY < waRect.top) dlgY = waRect.top; + } + else dlgY += 20; + + SetWindowPos(hDlg, HWND_TOP, dlgX, dlgY, 0, 0, SWP_NOSIZE); +} + +/***************************************************** +* FUNCTION NAME: onInitDlg() +* PURPOSE: +* dlg init +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +void onInitDlg(HWND hDlg) +{ + HFONT hFont; + HWND hPrbNew; + HWND hPrbOld; + HWND hCan = GetDlgItem(hDlg, IDCANCEL); + + if(childwnd) + { + hPrbNew = GetDlgItem(hDlg, IDC_PROGRESS1); + hPrbOld = GetDlgItem(childwnd, 0x3ec); + + // Backland' fix for progress bar redraw/style issue. + // Original bar may be hidden because of interfernce with other plug-ins. + LONG prbStyle = WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; + if(hPrbOld != NULL) + { + prbStyle |= GetWindowLong(hPrbOld, GWL_STYLE); + } + SetWindowLong(hPrbNew, GWL_STYLE, prbStyle); + + if(!popup) + { + if((hFont = (HFONT)SendMessage(childwnd, WM_GETFONT, 0, 0)) != NULL) + { + SendDlgItemMessage(hDlg, IDC_STATIC1, WM_SETFONT, (WPARAM)hFont, 0); + SendDlgItemMessage(hDlg, IDCANCEL, WM_SETFONT, (WPARAM)hFont, 0); + } + if(*szCancel == 0) + GetWindowText(GetDlgItem(GetParent(childwnd), IDCANCEL), szCancel, sizeof(szCancel)); + SetWindowText(hCan, szCancel); + SetWindowPos(hPrbNew, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); + } + } + + if(nocancel) + { + if(hCan != NULL) + ShowWindow(hCan, SW_HIDE); + if(popup) + SetWindowLong(hDlg, GWL_STYLE, GetWindowLong(hDlg, GWL_STYLE) ^ WS_SYSMENU); + } + SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETRANGE, + 0, MAKELPARAM(0, PB_RANGE)); + if(szBanner != NULL) + { + SendDlgItemMessage(hDlg, IDC_STATIC13, STM_SETICON, + (WPARAM)LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(103)), 0); + SetDlgItemText(hDlg, IDC_STATIC12, szBanner); + SetWindowText(hDlg, *szCaption ? szCaption : PLUGIN_NAME); + } + SetTimer(hDlg, 1, 1000, NULL); + if(*szUrl != 0) + { + SetDlgItemText(hDlg, IDC_STATIC20, szUrl); + SetDlgItemText(hDlg, IDC_STATIC21, szDownloading); + SetDlgItemText(hDlg, IDC_STATIC22, szConnecting); + SetDlgItemText(hDlg, IDC_STATIC23, szProgress); + SetDlgItemText(hDlg, IDC_STATIC24, szSecond); + SetDlgItemText(hDlg, IDC_STATIC25, szRemaining); + } +} + +/***************************************************** +* FUNCTION NAME: dlgProc() +* PURPOSE: +* dlg message handling procedure +* SPECIAL CONSIDERATIONS: +* todo: better dialog design +*****************************************************/ +BOOL WINAPI dlgProc(HWND hDlg, + UINT message, + WPARAM wParam, + LPARAM lParam ) { + switch(message) { + case WM_INITDIALOG: + onInitDlg(hDlg); + centerDlg(hDlg); + break; + case WM_PAINT: + // child dialog redraw problem. return false is important + RedrawWindow(GetDlgItem(hDlg, IDC_STATIC1), NULL, NULL, RDW_INVALIDATE); + RedrawWindow(GetDlgItem(hDlg, IDCANCEL), NULL, NULL, RDW_INVALIDATE); + RedrawWindow(GetDlgItem(hDlg, IDC_PROGRESS1), NULL, NULL, RDW_INVALIDATE); + UpdateWindow(GetDlgItem(hDlg, IDC_STATIC1)); + UpdateWindow(GetDlgItem(hDlg, IDCANCEL)); + UpdateWindow(GetDlgItem(hDlg, IDC_PROGRESS1)); + return false; + case WM_TIMER: + if(!silent && IsWindow(hDlg)) + { + // long connection period and paused state updates + if(status != ST_DOWNLOAD && GetTickCount() - transfStart > PROGRESS_MS) + transfStart += PROGRESS_MS; + if(popup) onTimer(hDlg); + else progress_callback(); + RedrawWindow(GetDlgItem(hDlg, IDC_STATIC1), NULL, NULL, RDW_INVALIDATE); + RedrawWindow(GetDlgItem(hDlg, IDCANCEL), NULL, NULL, RDW_INVALIDATE); + RedrawWindow(GetDlgItem(hDlg, IDC_PROGRESS1), NULL, NULL, RDW_INVALIDATE); + } + break; + case WM_COMMAND: + switch(LOWORD(wParam)) + { + case IDCANCEL: + if(nocancel) break; + if(szQuestion && + MessageBox(hDlg, szQuestion, *szCaption ? szCaption : PLUGIN_NAME, MB_ICONWARNING|MB_YESNO) == IDNO) + break; + status = ST_CANCELLED; + case IDOK: + if(status != ST_CANCELLED && HIWORD(wParam) != INTERNAL_OK) break; + // otherwise in the silent mode next banner windows may go to background + // if(silent) sf(hDlg); + KillTimer(hDlg, 1); + DestroyWindow(hDlg); + break; + } + default: return false; + } + return true; +} + +/***************************************************** +* FUNCTION NAME: get() +* PURPOSE: +* http/https/ftp file download entry point +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +extern "C" +void __declspec(dllexport) get(HWND hwndParent, + int string_size, + TCHAR *variables, + stack_t **stacktop, + extra_parameters *extra + ) +{ + HANDLE hThread; + DWORD dwThreadId; + MSG msg; + TCHAR szUsername[64]=_T(""), // proxy params + szPassword[64]=_T(""); + + + EXDLL_INIT(); + +// for repeating /nounload plug-un calls - global vars clean up + silent = popup = resume = nocancel = noproxy = nocookies = false; + myFtpCommand = NULL; + openType = INTERNET_OPEN_TYPE_PRECONFIG; + status = ST_CONNECTING; + *szCaption = *szCancel = *szUserAgent = *szBasic = *szAuth = 0; + + url = (TCHAR*)GlobalAlloc(GPTR, string_size * sizeof(TCHAR)); + if(szPost) + { + popstring(url); +#ifdef UNICODE + WideCharToMultiByte(CP_ACP, 0, url, -1, szPost, string_size, NULL, NULL); +#else + lstrcpy(szPost, url); +#endif + fSize = strlen(szPost); + } + // global silent option + if(extra->exec_flags->silent != 0) + silent = true; + // we must take this from stack, or push url back + while(!popstring(url) && *url == _T('/')) + { + if(lstrcmpi(url, _T("/silent")) == 0) + silent = true; + else if(lstrcmpi(url, _T("/caption")) == 0) + popstring(szCaption); + else if(lstrcmpi(url, _T("/username")) == 0) + popstring(szUsername); + else if(lstrcmpi(url, _T("/password")) == 0) + popstring(szPassword); + else if(lstrcmpi(url, _T("/nocancel")) == 0) + nocancel = true; + else if(lstrcmpi(url, _T("/nocookies")) == 0) + nocookies = true; + else if(lstrcmpi(url, _T("/noproxy")) == 0) + openType = INTERNET_OPEN_TYPE_DIRECT; + else if(lstrcmpi(url, _T("/popup")) == 0) + { + popup = true; + szAlias = (TCHAR*)GlobalAlloc(GPTR, string_size); + popstring(szAlias); + } + else if(lstrcmpi(url, _T("/resume")) == 0) + { + popstring(url); + if(lstrlen(url) > 0) + lstrcpy(szResume, url); + resume = true; + } + else if(lstrcmpi(url, _T("/translate")) == 0) + { + if(popup) + { + popstring(szUrl); + popstring(szStatus[ST_DOWNLOAD]); // Downloading + popstring(szStatus[ST_CONNECTING]); // Connecting + lstrcpy(szStatus[ST_URLOPEN], szStatus[ST_CONNECTING]); + popstring(szDownloading);// file name + popstring(szConnecting);// received + popstring(szProgress);// file size + popstring(szSecond);// remaining time + popstring(szRemaining);// total time + } + else + { + popstring(szDownloading); + popstring(szConnecting); + popstring(szSecond); + popstring(szMinute); + popstring(szHour); + popstring(szPlural); + popstring(szProgress); + popstring(szRemaining); + } + } + else if(lstrcmpi(url, _T("/banner")) == 0) + { + popup = true; + szBanner = (TCHAR*)GlobalAlloc(GPTR, string_size); + popstring(szBanner); + } + else if(lstrcmpi(url, _T("/canceltext")) == 0) + { + popstring(szCancel); + } + else if(lstrcmpi(url, _T("/question")) == 0) + { + szQuestion = (TCHAR*)GlobalAlloc(GPTR, string_size); + popstring(szQuestion); + if(*szQuestion == 0) lstrcpy(szQuestion, DEF_QUESTION); + } + else if(lstrcmpi(url, _T("/useragent")) == 0) + { + popstring(szUserAgent); + } + else if(lstrcmpi(url, _T("/proxy")) == 0) + { + szProxy = (TCHAR*)GlobalAlloc(GPTR, string_size * sizeof(TCHAR)); + popstring(szProxy); + openType = INTERNET_OPEN_TYPE_PROXY; + } + else if(lstrcmpi(url, _T("/connecttimeout")) == 0) + { + popstring(url); + timeout = _tcstol(url, NULL, 10) * 1000; + } + else if(lstrcmpi(url, _T("/receivetimeout")) == 0) + + { + popstring(url); + receivetimeout = _tcstol(url, NULL, 10) * 1000; + } + else if(lstrcmpi(url, _T("/header")) == 0) + { + szHeader = (TCHAR*)GlobalAlloc(GPTR, string_size); + popstring(szHeader); + } + else if(lstrcmpi(url, _T("/file")) == 0) + { + HANDLE hFile = CreateFileA(szPost, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); + DWORD rslt; + if(hFile == INVALID_HANDLE_VALUE) + { + status = ERR_FILEOPEN; + goto cleanup; + } + if((fSize = GetFileSize(hFile, NULL)) == 0) + { + CloseHandle(hFile); + status = ERR_FILEREAD; + goto cleanup; + } + wsprintfA(post_fname, "Filename: %s", + strchr(szPost, '\\') ? strrchr(szPost, '\\') + 1 : szPost); + GlobalFree(szPost); + szPost = (char*)GlobalAlloc(GPTR, fSize); + if(ReadFile(hFile, szPost, fSize, &rslt, NULL) == 0 || rslt != fSize) + { + CloseHandle(hFile); + status = ERR_FILEREAD; + goto cleanup; + } + CloseHandle(hFile); + } + } + pushstring(url); +// if(*szCaption == 0) lstrcpy(szCaption, PLUGIN_NAME); + if(*szUserAgent == 0) lstrcpy(szUserAgent, INETC_USERAGENT); + if(*szPassword && *szUsername) + { + wsprintf(url, _T("%s:%s"), szUsername, szPassword); + encode_base64(lstrlen(url), url, szAuth); + } + // may be silent for plug-in, but not so for installer itself - let's try to define 'progress text' + if(hwndParent != NULL && + (childwnd = FindWindowEx(hwndParent, NULL, _T("#32770"), NULL)) != NULL && + !silent) + SetDlgItemText(childwnd, 1006, *szCaption ? szCaption : PLUGIN_NAME); + else InitCommonControls(); // or NSIS do this before .onInit? + // cannot embed child dialog to non-existing parent. Using 'silent' to hide it + if(childwnd == NULL && !popup) silent = true; + // let's use hidden popup dlg in the silent mode - works both on .onInit and Page + if(silent) { resume = false; popup = true; } + // google says WS_CLIPSIBLINGS helps to redraw... not in my tests... + if(!popup) + { + unsigned int wstyle = GetWindowLong(childwnd, GWL_STYLE); + wstyle |= WS_CLIPSIBLINGS; + SetWindowLong(childwnd, GWL_STYLE, wstyle); + } + startTime = GetTickCount(); + if((hDlg = CreateDialog(g_hInstance, + MAKEINTRESOURCE(szBanner ? IDD_DIALOG2 : (popup ? IDD_DIALOG1 : IDD_DIALOG3)), + (popup ? hwndParent : childwnd), dlgProc)) != NULL) + { + + if((hThread = CreateThread(NULL, 0, inetTransfer, (LPVOID)hDlg, 0, + &dwThreadId)) != NULL) + { + HWND hButton = GetDlgItem(childwnd, 0x403); + HWND hList = GetDlgItem(childwnd, 0x3f8); + DWORD dwStyleButton = 0; + BOOL fVisibleList = false; + if(!silent) + { + ShowWindow(hDlg, SW_NORMAL); + if(childwnd && !popup) + { + if(hButton) + { + dwStyleButton = GetWindowLong(hButton, GWL_STYLE); + EnableWindow(hButton, false); + } + if(hList) + { + fVisibleList = IsWindowVisible(hList); + ShowWindow(hList, SW_HIDE); + } + } + } + + while(IsWindow(hDlg) && + GetMessage(&msg, NULL, 0, 0) > 0) + { + if(!IsDialogMessage(hDlg, &msg) && + !IsDialogMessage(hwndParent, &msg) && + !TranslateMessage(&msg)) + DispatchMessage(&msg); + } + + if(WaitForSingleObject(hThread, 3000) == WAIT_TIMEOUT) + { + TerminateThread(hThread, 1); + status = ERR_TERMINATED; + } + CloseHandle(hThread); + if(!silent && childwnd) + { + SetDlgItemText(childwnd, 1006, _T("")); + if(!popup) + { + if(hButton) + SetWindowLong(hButton, GWL_STYLE, dwStyleButton); + if(hList && fVisibleList) + ShowWindow(hList, SW_SHOW); + } + // RedrawWindow(childwnd, NULL, NULL, RDW_INVALIDATE|RDW_ERASE); + } + } + else + { + status = ERR_THREAD; + DestroyWindow(hDlg); + } + } + else { + status = ERR_DIALOG; + wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (Err=%d)"), GetLastError()); + } +cleanup: + // we need to clean up stack from remaining url/file pairs. + // this multiple files download head pain and may be not safe + while(!popstring(url) && lstrcmpi(url, _T("/end")) != 0) + { + /* nothing MessageBox(NULL, url, _T(""), 0);*/ + } + GlobalFree(url); + if(szAlias) GlobalFree(szAlias); + if(szBanner) GlobalFree(szAlias); + if(szQuestion) GlobalFree(szQuestion); + if(szProxy) GlobalFree(szProxy); + if(szPost) GlobalFree(szPost); + if(szHeader) GlobalFree(szHeader); + + url = szProxy = szHeader = szAlias = szQuestion = NULL; + szPost = NULL; + fput = fhead = false; + + pushstring(szStatus[status]); +} + +/***************************************************** +* FUNCTION NAME: put() +* PURPOSE: +* http/ftp file upload entry point +* SPECIAL CONSIDERATIONS: +* re-put not works with http, but ftp REST - may be. +*****************************************************/ +extern "C" +void __declspec(dllexport) put(HWND hwndParent, + int string_size, + TCHAR *variables, + stack_t **stacktop, + extra_parameters *extra + ) +{ + fput = true; + lstrcpy(szDownloading, _T("Uploading %s")); + lstrcpy(szStatus[2], _T("Uploading")); + get(hwndParent, string_size, variables, stacktop, extra); +} + +/***************************************************** +* FUNCTION NAME: post() +* PURPOSE: +* http post entry point +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +extern "C" +void __declspec(dllexport) post(HWND hwndParent, + int string_size, + TCHAR *variables, + stack_t **stacktop, + extra_parameters *extra + ) +{ + szPost = (CHAR*)GlobalAlloc(GPTR, string_size); + get(hwndParent, string_size, variables, stacktop, extra); +} + +/***************************************************** +* FUNCTION NAME: head() +* PURPOSE: +* http/ftp file upload entry point +* SPECIAL CONSIDERATIONS: +* re-put not works with http, but ftp REST - may be. +*****************************************************/ +extern "C" +void __declspec(dllexport) head(HWND hwndParent, + int string_size, + TCHAR *variables, + stack_t **stacktop, + extra_parameters *extra + ) +{ + fhead = true; + get(hwndParent, string_size, variables, stacktop, extra); +} + +/***************************************************** +* FUNCTION NAME: DllMain() +* PURPOSE: +* Dll main (initialization) entry point +* SPECIAL CONSIDERATIONS: +* +*****************************************************/ +BOOL WINAPI DllMain(HANDLE hInst, + ULONG ul_reason_for_call, + LPVOID lpReserved) +{ + g_hInstance=(HINSTANCE)hInst; + return TRUE; +} diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp new file mode 100644 index 000000000..2a4d46410 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp @@ -0,0 +1,175 @@ +# Microsoft Developer Studio Project File - Name="inetc" - Package Owner=<4> +# Microsoft Developer Studio Generated Build File, Format Version 6.00 +# ** DO NOT EDIT ** + +# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 + +CFG=inetc - Win32 Debug +!MESSAGE This is not a valid makefile. To build this project using NMAKE, +!MESSAGE use the Export Makefile command and run +!MESSAGE +!MESSAGE NMAKE /f "inetc.mak". +!MESSAGE +!MESSAGE You can specify a configuration when running NMAKE +!MESSAGE by defining the macro CFG on the command line. For example: +!MESSAGE +!MESSAGE NMAKE /f "inetc.mak" CFG="inetc - Win32 Debug" +!MESSAGE +!MESSAGE Possible choices for configuration are: +!MESSAGE +!MESSAGE "inetc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "inetc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "inetc - Win32 Release_Unicode" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE "inetc - Win32 Debug_Unicode" (based on "Win32 (x86) Dynamic-Link Library") +!MESSAGE + +# Begin Project +# PROP AllowPerConfigDependencies 0 +# PROP Scc_ProjName "" +# PROP Scc_LocalPath "" +CPP=cl.exe +MTL=midl.exe +RSC=rc.exe + +!IF "$(CFG)" == "inetc - Win32 Release" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release" +# PROP BASE Intermediate_Dir "Release" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "debug" +# PROP Intermediate_Dir "debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O1 /I "..\ExDll" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 msvcrt.lib kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib /out:"..\..\plugins\inetc.dll" /opt:nowin98 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "inetc - Win32 Debug" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug" +# PROP BASE Intermediate_Dir "Debug" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug" +# PROP Intermediate_Dir "Debug" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\plugins\inetc.dll" /pdbtype:sept +# SUBTRACT LINK32 /incremental:no /debug + +!ELSEIF "$(CFG)" == "inetc - Win32 Release_Unicode" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 0 +# PROP BASE Output_Dir "Release_Unicode" +# PROP BASE Intermediate_Dir "Release_Unicode" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 0 +# PROP Output_Dir "Debug_Unicode" +# PROP Intermediate_Dir "Debug_Unicode" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c +# ADD CPP /nologo /MT /W3 /GX /O1 /I "..\ExDll" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c +# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "NDEBUG" +# ADD RSC /l 0x409 /d "NDEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 msvcrt.lib kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib /out:"..\..\Unicode\plugins\inetc.dll" /opt:nowin98 +# SUBTRACT LINK32 /pdb:none + +!ELSEIF "$(CFG)" == "inetc - Win32 Debug_Unicode" + +# PROP BASE Use_MFC 0 +# PROP BASE Use_Debug_Libraries 1 +# PROP BASE Output_Dir "Debug_Unicode" +# PROP BASE Intermediate_Dir "Debug_Unicode" +# PROP BASE Target_Dir "" +# PROP Use_MFC 0 +# PROP Use_Debug_Libraries 1 +# PROP Output_Dir "Debug_Unicode" +# PROP Intermediate_Dir "Debug_Unicode" +# PROP Ignore_Export_Lib 0 +# PROP Target_Dir "" +# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c +# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c +# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 +# ADD BASE RSC /l 0x409 /d "_DEBUG" +# ADD RSC /l 0x409 /d "_DEBUG" +BSC32=bscmake.exe +# ADD BASE BSC32 /nologo +# ADD BSC32 /nologo +LINK32=link.exe +# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Unicode\plugins\inetc.dll" /pdbtype:sept +# SUBTRACT LINK32 /incremental:no /debug + +!ENDIF + +# Begin Target + +# Name "inetc - Win32 Release" +# Name "inetc - Win32 Debug" +# Name "inetc - Win32 Release_Unicode" +# Name "inetc - Win32 Debug_Unicode" +# Begin Group "Source Files" + +# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" +# Begin Source File + +SOURCE=.\inetc.cpp +# End Source File +# End Group +# Begin Group "Header Files" + +# PROP Default_Filter "h;hpp;hxx;hm;inl" +# End Group +# Begin Group "Resource Files" + +# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" +# Begin Source File + +SOURCE="..\Graphics\Icons\classic-install.ico" +# End Source File +# Begin Source File + +SOURCE=.\inetc.rc +# End Source File +# End Group +# End Target +# End Project diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw new file mode 100644 index 000000000..98a25c5b2 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw @@ -0,0 +1,29 @@ +Microsoft Developer Studio Workspace File, Format Version 6.00 +# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! + +############################################################################### + +Project: "ftpc"=".\inetc.dsp" - Package Owner=<4> + +Package=<5> +{{{ +}}} + +Package=<4> +{{{ +}}} + +############################################################################### + +Global: + +Package=<5> +{{{ +}}} + +Package=<3> +{{{ +}}} + +############################################################################### + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc new file mode 100644 index 000000000..6a29a56f3 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc @@ -0,0 +1,170 @@ +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// Russian resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) +#ifdef _WIN32 +LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT +#pragma code_page(1251) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // Russian resources +///////////////////////////////////////////////////////////////////////////// + + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_DIALOG1 DIALOGEX 0, 0, 286, 71 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inetc plug-in" +FONT 8, "MS Sans Serif" +BEGIN + LTEXT "",IDC_STATIC1,50,4,230,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + LTEXT "",IDC_STATIC2,50,18,230,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + CTEXT "",IDC_STATIC3,50,32,102,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + CTEXT "",IDC_STATIC4,220,32,60,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",NOT + WS_VISIBLE,5,62,275,7 + CTEXT "",IDC_STATIC5,50,46,102,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + CTEXT "",IDC_STATIC6,220,46,60,12,SS_CENTERIMAGE, + WS_EX_STATICEDGE + CONTROL "URL",IDC_STATIC20,"Static",SS_LEFTNOWORDWRAP | WS_GROUP, + 5,6,44,10 + CONTROL "File name",IDC_STATIC21,"Static",SS_LEFTNOWORDWRAP | + WS_GROUP,5,20,44,10 + CONTROL "Transfered",IDC_STATIC22,"Static",SS_LEFTNOWORDWRAP | + WS_GROUP,5,34,44,10 + CONTROL "File size",IDC_STATIC23,"Static",SS_LEFTNOWORDWRAP | + WS_GROUP,5,48,44,10 + CONTROL "Remaining time",IDC_STATIC24,"Static",SS_LEFTNOWORDWRAP | + WS_GROUP,164,34,55,10 + CONTROL "Total time",IDC_STATIC25,"Static",SS_LEFTNOWORDWRAP | + WS_GROUP,164,48,55,10 +END + +IDD_DIALOG2 DIALOG DISCARDABLE 0, 0, 226, 62 +STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Inetc plug-in" +FONT 8, "MS Sans Serif" +BEGIN + ICON 103,IDC_STATIC13,4,4,20,20 + LTEXT "Please wait",IDC_STATIC12,35,6,184,28 + CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",NOT + WS_VISIBLE,12,40,201,11 +END + +IDD_DIALOG3 DIALOG DISCARDABLE 0, 0, 266, 62 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE +FONT 8, "MS Sans Serif" +BEGIN + CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",0x0,0,23, + 266,11 + CTEXT "",IDC_STATIC1,0,8,266,11 + PUSHBUTTON "Cancel",IDCANCEL,166,41,80,16 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_DIALOG1, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 279 + TOPMARGIN, 7 + BOTTOMMARGIN, 64 + END + + IDD_DIALOG2, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 219 + TOPMARGIN, 7 + BOTTOMMARGIN, 55 + END + + IDD_DIALOG3, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 259 + TOPMARGIN, 7 + BOTTOMMARGIN, 55 + END +END +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi new file mode 100644 index 000000000..845a18d64 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi @@ -0,0 +1,80 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Local Test" +OutFile "inetc_local.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + + +; PUT test + +; FTP requires anonymous access in sample below. +; HTTP sample put.php included to package. Stores test.jpg as m2.bmp +; check server files present after upload + + inetc::put "http://localhost/put.php" "$EXEDIR\test.jpg" + Pop $0 + + inetc::put "ftp://localhost/test.jpg" "$EXEDIR\test.jpg" +; not anonymous format +; inetc::put "ftp://login:password@localhost/test.jpg" "$EXEDIR\test.jpg" + Pop $1 + + DetailPrint "PUT: HTTP $0, FTP $1 (verify server files)" + + +; POST test + +; HTTP sample post.php and post_form.htm (to compare results) included + + inetc::post "login=ami&passwd=333" "http://localhost/post.php?lg=iam&pw=44" "$EXEDIR\post_reply.htm" + Pop $2 + + DetailPrint "POST: $2 (post_reply.htm)" + + +; HEAD test + +; uses uploaded earlier test.jpg + + inetc::head /silent "http://localhost/m2.bmp" "$EXEDIR\head.txt" + Pop $3 + + DetailPrint "HEAD: $3 (head.txt)" + + +; GET test + +; 2 files download in nsisdl mode + inetc::get "http://localhost/m2.bmp" "$EXEDIR\get1.jpg" "http://localhost/m2.bmp" "$EXEDIR\get2.jpg" + Pop $4 + + inetc::get /popup "Localhost:GET with Popup" "http://localhost/m2.bmp" "$EXEDIR\get3.jpg" + Pop $5 + + inetc::get /banner "Local Test GET with Banner" "http://localhost/m2.bmp" "$EXEDIR\get4.jpg" + Pop $6 + + inetc::get /silent "ftp://localhost/test.jpg" "$EXEDIR\get5.jpg" + Pop $7 + + DetailPrint "GET: NSISDL $4, POPUP $5, BANNER $6, FTP $7 (get1-5.jpg)" + + SetDetailsView show + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi new file mode 100644 index 000000000..9dcf0d2bb --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi @@ -0,0 +1,30 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Post Test" +OutFile "post.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; this is my LAN sample, use your own URL for tests. Sample post.php included + + inetc::post "login=ami&passwd=333" "http://localhost/post.php?lg=iam&pw=44" "$EXEDIR\post_reply.htm" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd + + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php new file mode 100644 index 000000000..f6a894964 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php @@ -0,0 +1,13 @@ +<html> +<head> +</head> +<body> +<?php +echo "post.login=".$_POST['login']."<br>"; +echo "post.passwd=".$_POST['passwd']."<br>"; +echo "get.lg=".$_GET['lg']."<br>"; +echo "get.pw=".$_GET['pw']."<br>"; +?> +</body> + +</html> diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi new file mode 100644 index 000000000..7bb7b7704 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi @@ -0,0 +1,30 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Post Test" +OutFile "post_file.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; this is my LAN sample, use your own URL for tests. Sample post.php included + + inetc::post "$EXEDIR\inetc.cpp" /file "http://localhost/post_file.php" "$EXEDIR\post_file.htm" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd + + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php new file mode 100644 index 000000000..07ab4fbf2 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php @@ -0,0 +1,10 @@ +<?php +$headers = apache_request_headers(); + +foreach ($headers as $header => $value) { + echo "$header: $value <br />\n"; +} +echo "new <br />"; +foreach ($_FILES as $key => $value) echo $key . "<>" . $value . "<br/>\n"; +echo file_get_contents('php://input'); +?> \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html new file mode 100644 index 000000000..046d60533 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html @@ -0,0 +1,18 @@ +<html> +<head> +<title>Registration form for post.php test</title> +</head> +<body> +This form sends POST request to server. It was interesting to compare server echo <br> +reply (by included post.php) for this form and InetLoad plug-in - in my <br> +tests server did not see any difference between them :)<br> +<form name="MainLogin" action="/post.php?lg=ami&pw=333" method="post"> + +<input type="text" name="login" value="" tabindex="1"><br> +<input type="password" name="passwd" value="" tabindex="2"><br> +<input type="submit" name="In" value="Enter" tabindex="3"> + +</form> + +</body> +</html> diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi new file mode 100644 index 000000000..95cc8dda4 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi @@ -0,0 +1,30 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Test" +OutFile "put.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; this is my LAN sample, use your own URL for tests. Login/pwd hidden from user. Sample put.php (for http request) included + + inetc::put "http://localhost/put.php" "$EXEDIR\test.jpg" +; inetc::put /POPUP "ftp://localhost/" /CAPTION "my local ftp upload" "ftp://localhost/test.jpg" "$EXEDIR\test.jpg" + Pop $0 + MessageBox MB_OK "Upload Status: $0" + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php new file mode 100644 index 000000000..7bb2bf526 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php @@ -0,0 +1,19 @@ +<?php +/* + PUT data comes in on the stdin stream, which is php://input + for PHP compiled as a module, although most documentation claim + it's php://stdin +*/ +$putdata = fopen("php://input", "r"); +$fp = fopen("m2.bmp", "w"); +$i = 0; +while ($data = fread($putdata, 1024)) +{ + echo "data pass: " . $i++ . "\n"; + fwrite($fp, $data); +} +fflush($fp); +fclose($fp); +fclose($putdata); +copy("m2.bmp", $request_uri); +?> diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi new file mode 100644 index 000000000..52e032663 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi @@ -0,0 +1,64 @@ +Name "Inetc Recursive Dir Upload Test" +OutFile "recursive.exe" + +!include "MUI.nsh" +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_LANGUAGE "English" +!include "FileFunc.nsh" +!insertmacro GetFileAttributes + +var url +var path + +Function dirul + + Push $0 ; search handle + Push $1 ; file name + Push $2 ; attributes + + FindFirst $0 $1 "$path\*" +loop: + StrCmp $1 "" done + ${GetFileAttributes} "$path\$1" DIRECTORY $2 + IntCmp $2 1 isdir +retry: + Inetc::put $url/$1 "$path\$1" /end + Pop $2 + DetailPrint "$2 $path\$1" + StrCmp $2 "OK" cont + MessageBox MB_YESNO "$path\$1 file upload failed. Retry?" IDYES retry + Abort "terminated by user" + Goto cont +isdir: + StrCmp $1 . cont + StrCmp $1 .. cont + Push $path + Push $url + StrCpy $path "$path\$1" + StrCpy $url "$url/$1" + Call dirul + Pop $url + Pop $path +cont: + FindNext $0 $1 + Goto loop +done: + FindClose $0 + + Pop $2 + Pop $1 + Pop $0 + +FunctionEnd + + +Section "Dummy Section" SecDummy + + SetDetailsView hide + StrCpy $path "$EXEDIR" +; put is dir in the user's ftp home, use //put for root-relative path + StrCpy $url ftp://takhir:pwd@localhost/put + Call dirul + SetDetailsView show + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi new file mode 100644 index 000000000..cd2943420 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi @@ -0,0 +1,30 @@ + +;-------------------------------- +; General Attributes + +Name "Redirect Test" +OutFile "redirect.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + + SetDetailsView hide + + inetc::get "http://localhost/redirect.php" "$EXEDIR\redirect.htm" /end + Pop $1 + + MessageBox MB_OK "Download Status: $1" + +SectionEnd + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php new file mode 100644 index 000000000..afe455283 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php @@ -0,0 +1,6 @@ +<?php +/* + Location header sets 302 status +*/ +header("Location: http://localhost/index.htm") +?> diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h new file mode 100644 index 000000000..d7fc835a6 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h @@ -0,0 +1,47 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by inetc.rc +// +#define IDC_SLOGIN 8 +#define IDC_PROGRESS 10 +#define IDC_SUBTEXT 11 +#define IDC_SPWD 11 +#define IDC_ICON1 12 +#define IDD_DIALOG1 101 +#define IDI_ICON1 102 +#define IDI_ICON2 103 +#define IDD_AUTH 104 +#define IDI_ICON3 105 +#define IDI_ICON4 106 +#define IDI_ICON5 107 +#define IDD_DIALOG2 108 +#define IDI_ICON6 109 +#define IDD_DIALOG3 110 +#define IDC_STATIC1 1001 +#define IDC_STATIC2 1002 +#define IDC_STATIC3 1003 +#define IDC_STATIC4 1004 +#define IDC_PROGRESS1 1005 +#define IDC_STATIC5 1006 +#define IDC_STATIC6 1007 +#define IDC_STATIC12 1008 +#define IDC_STATIC13 1009 +#define IDC_STATIC20 1009 +#define IDC_STATIC21 1010 +#define IDC_STATIC22 1011 +#define IDC_STATIC23 1012 +#define IDC_STATIC24 1013 +#define IDC_STATIC25 1014 +#define IDC_ELOGIN 1015 +#define IDC_EPWD 1016 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 111 +#define _APS_NEXT_COMMAND_VALUE 40001 +#define _APS_NEXT_CONTROL_VALUE 1018 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi new file mode 100644 index 000000000..7ff5688af --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi @@ -0,0 +1,31 @@ + +;-------------------------------- +; General Attributes + +Name "Timeout Test" +OutFile "to.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_LANGUAGE "English" + + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; additional headers. Sample php returns raw headers + inetc::get /receivetimeout 12 "http://localhost/to.php" "$EXEDIR\to.html" + Pop $0 + + MessageBox MB_OK "Download Status: $0" + +SectionEnd + + diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi new file mode 100644 index 000000000..053a8155e --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi @@ -0,0 +1,32 @@ + +;-------------------------------- +; General Attributes + +Name "Inetc Translate Test" +OutFile "Translate.exe" + + +;-------------------------------- +;Interface Settings + + !include "MUI.nsh" + !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" + !insertmacro MUI_PAGE_WELCOME + !insertmacro MUI_PAGE_INSTFILES + !insertmacro MUI_PAGE_FINISH + !insertmacro MUI_LANGUAGE "Russian" + + +;-------------------------------- +;Installer Sections + +Section "Dummy Section" SecDummy + +; This is russian variant. See Readme.txt for a list of parameters. +; Use LangStrings as TRANSLATE parameters for multilang options + + inetc::load /POPUP "" /CAPTION "���� �������" /TRANSLATE "URL" "��������" "������� ����������" "��� �����" �������� "������" "��������" "������" "http://ineum.narod.ru/g06s.htm" "$EXEDIR\g06s.htm" + Pop $0 # return value = exit code, "OK" if OK + MessageBox MB_OK "Download Status: $0" + +SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt new file mode 100644 index 000000000..f7fccb58e --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt @@ -0,0 +1,169 @@ +{{PageAuthor|Takhir}} + +== Links == + +Download:<br> +<attach>Inetc.zip</attach><br> + +[http://forums.winamp.com/showthread.php?threadid=198596 Forum thread] + +== Description == + +Internet client plug-in for files download and upload. Based on the InetLoad plug-in. Network implementation uses MS WinInet API, supports http/https and ftp protocols. Plugin has better proxy support compared to NSISdl plug-in. Command line may include few URL/File pairs to be transfered. If server or proxy login/password are not set in the script, it displays IE-style authentication dialog (except silent mode). Plug-in supports 3 "transfer in progress" display modes: + +# old NSISdl style - additional embedded progress bar and text on the INSTFILES page; +# POPUP dialog mode with detailed info; +# BANNER mode with simple popup window. + +Plug-in recognizes Installer's Silent mode and this case hides any output (this feature requires NSIS 2.03 or later). Program implements simple re-get functionality - host reconnect and download from current position after short pause. While program depends on IE settings, it changes current IE mode to online. NSISdl code fragment was used for progress bar displaying in the "old style" mode. +For ftp use "host/path" for file location relative to user's home dir and +"host//path" for absolute path. + +== Command line == + +Plug-in DLL functions (entry points): get, post, head, put + +=== get DLL Function === + +<highlight-nsis>inetc::get [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] + [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] + [/CAPTION TEXT] [/NOCOOKIES] [/RESUME RETRY_QUESTION] [/POPUP HOST_ALIAS | /BANNER TEXT] + [/CANCELTEXT CANCEL_TEXT] [/QUESTION CANCEL_QUESTION] [/USER_AGENT USER_AGENT_TEXT] + [/HEADER HEADER_TEXT] [/TRANSLATE LANG_PARAMS] + URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis> +This call returns "OK" string if successful, error description string if failed (see included InetLoad.cpp file for a full set of status strings). Usage and result processing samples are included to the package. + +; /PROXY +: Overwrites current proxy settings, not required in most cases. IE settings will be used by default. + +; /USERNAME +: Proxy username (http only). + +; /PASSWORD +: Proxy password (http only). For server (http/ftp) authentication it is possible to use URL encoded name and password, for example <nowiki>http://username:password@nsis.sourceforge.net</nowiki>. + +;/NOPROXY +: Disables proxy settings for this connection (if any) + +;/NOCANCEL +: Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling) + +;/CONNECTTIMEOUT - +:Sets INTERNET_OPTION_CONNECT_TIMEOUT, seconds, default - IE current parameter value. + +;/RECEIVETIMEOUT - +:Sets INTERNET_OPTION_RECEIVE_TIMEOUT, seconds, default - IE current parameter value. + +; /SILENT +: Key hides plug-in' output (both popup dialog and embedded progress bar). Not required if 'SilentInstall silent' mode was defined in script (NSIS 2.03 or later). + +; /RESUME +: On the permanent connection/transfer error instead of exit first displays message box with "resume download" question. Useful for dial-up connections and big files - allows user to restore connection and resume download. Default is "Your internet connection seems to have dropped out!\nPlease reconnect and click Retry to resume downloading...". + +; /CAPTION +: Defines caption text for /BANNER mode, caption prefix (left of '-') for /POPUP mode and caption for RESUME MessageBox. Default is "InetLoad plug-in" if not set or "". + +; /POPUP +: This mode displays detailed download dialog instead of embedded progress bar. Also useful in .onInit function (i.e. not in Section). If HOST_ALIAS is not "", text will replace URL in the dialog - this allows to hide real URL (including password). + +; /BANNER +: Displays simple popup dialog (MSI Banner mode) and sets dialog TEXT (up to 3 lines using $\n). + +; /CANCELTEXT +: Text for the Cancel button in the NSISdl mode. Default is NSIS dialog Cancel button text (current lang). + +; /QUESTION +: Text for the optional MessageBox if user tries to cancel download. If /QUESTION "" was used default "Are you sure that you want to stop download?" will be substituted. + +; /USERAGENT +: UserAgent http request header value. Default is "NSIS_Inetc (Mozilla)". + +; /HEADER +: Adds or replaces http request header. Common HEADER_TEXT format is "header: value". + +; /NOCOOKIES +: Removes cookies from http request + +; /END +: Allows to limit plug-in stack reading (optional, required if you stores other vars in the stack). + +; /TRANSLATE +: Allows translating plug-in text in the POPUP or "old style" (NSISdl) modes (see Readme for parameters). In the BANNER mode text is also customizable. + +=== post DLL Function === + +<highlight-nsis>inetc::post TEXT2POST [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] + [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] + [/FILE] [/CAPTION TEXT] [/NOCOOKIES] [/POPUP HOST_ALIAS | /BANNER TEXT] + [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] [/TRANSLATE LANG_PARAMS] + URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis> +Sets POST http mode and defines text string or file name to be used in the POST (http only). Disables auto re-get. No char replaces used (%20 and others). /FILE option allows to send TEXT2POST file content to server, additional 'Filename:' header added to request this case. + +=== head DLL Function === + +The same as get, but requests http headers only. Writes raw headers to file. + +=== put DLL Function === + +<highlight-nsis>inetc::put [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOPROXY] + [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] [/CAPTION TEXT] + [/POPUP HOST_ALIAS | /BANNER TEXT] [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] + [/TRANSLATE LANG_PARAMS] [/NOCOOKIES] + URL1 local_file1 [URL2 local_file2 [...]] [/END]</highlight-nsis> +Return value and parameters (if applicable) are the same as for previous entry point. + +== Examples == + +<highlight-nsis> +inetc::get "http://dl.zvuki.ru/6306/mp3/12.mp3" "$EXEDIR\12.mp3" \ + "ftp://dl.zvuki.ru/6306/mp3/11.mp3" "$EXEDIR\11.mp3" +Pop $0 +</highlight-nsis> + +<highlight-nsis> +inetc::put /BANNER "Cameron Diaz upload in progress..." \ +"http://www.dreamgirlswallpaper.co.uk/fiveyearsonline/wallpaper/Cameron_Diaz/camerond09big.JPG" \ +"$EXEDIR\cd.jpg" + Pop $0 + StrCmp $0 "OK" dlok + MessageBox MB_OK|MB_ICONEXCLAMATION "http upload Error, click OK to abort installation" /SD IDOK + Abort +dlok: + ... +</highlight-nsis> + +<highlight-nsis> +;installer window restoring after silent calls from .onGUIInit +;by Edward Marshall & Jonathan Beddoes +;temporarily makes the installer window topmost so that inetc doesn't drop our focus + +Function .onGUIInit + + ; Get window handle of installer into register 0. + ; This only works in onGUIInit! (so you still can't silently call inetc from onInit) + StrCpy $0 $HWNDPARENT + + ; Make window always-on-top. Yes, this is bad but we are only doing it temporarily! + ; This prevents inetc's hidden dialog from getting foreground precedence over the installer. + ; This must be done before any inetc calls. + ; -1 = HWND_TOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE + System::Call "user32::SetWindowPos(i r0, i -1, i 0, i 0, i 0, i 0, i 3)" + + ; Now do whatever you want with inetc. + inetc::head /silent "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\head.txt" + + ; Now set the installer window back to normal (not always-on-top). + ; -2 = HWND_NOTOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE + System::Call "user32::SetWindowPos(i r0, i -2, i 0, i 0, i 0, i 0, i 3)" + +FunctionEnd +</highlight-nsis> +<highlight-nsis> +; Following attribute also can restore installer Window +; BGGradient 000000 000080 FFFFFF +</highlight-nsis> +== Credits == + +Many thanks to Backland who offered a simple way to fix NSISdl mode crashes, added 'center parent' function, offers few nice design ideas and spent a lot of time testing the plug-in. + +[[Category:Plugins]] diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf new file mode 100644 index 000000000..1ec535899 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh new file mode 100644 index 000000000..154afb60a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf new file mode 100644 index 000000000..a27dbd8d6 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh new file mode 100644 index 000000000..faf9224e7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf new file mode 100644 index 000000000..e8ba22303 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh new file mode 100644 index 000000000..1f6f3b51c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf new file mode 100644 index 000000000..182ce50a9 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh new file mode 100644 index 000000000..67884c57a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf new file mode 100644 index 000000000..2f46f500e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh new file mode 100644 index 000000000..bf5939bcd Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf new file mode 100644 index 000000000..3730e75a5 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh new file mode 100644 index 000000000..57089408c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf new file mode 100644 index 000000000..d7d7ebb34 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh new file mode 100644 index 000000000..e9df25470 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf new file mode 100644 index 000000000..a908febc6 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh new file mode 100644 index 000000000..e80cb1b94 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf new file mode 100644 index 000000000..de8fe4ad3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh new file mode 100644 index 000000000..d8d9fdbc8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf new file mode 100644 index 000000000..8800ef074 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh new file mode 100644 index 000000000..931cc43ce Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf new file mode 100644 index 000000000..8faaec4bf Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh new file mode 100644 index 000000000..038825ddb Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf new file mode 100644 index 000000000..97a7f2b14 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh new file mode 100644 index 000000000..0670d63b6 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf new file mode 100644 index 000000000..2a337ea73 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh new file mode 100644 index 000000000..ae1f19b10 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf new file mode 100644 index 000000000..943749e5d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh new file mode 100644 index 000000000..ae4ebd45f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf new file mode 100644 index 000000000..a556efa3a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh new file mode 100644 index 000000000..b3fb5c232 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf new file mode 100644 index 000000000..70b9cd88c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh new file mode 100644 index 000000000..bf8ae0ee3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf new file mode 100644 index 000000000..09cc0b80c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh new file mode 100644 index 000000000..cc8cdc911 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf new file mode 100644 index 000000000..61d26c34c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh new file mode 100644 index 000000000..771eb24ab Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf new file mode 100644 index 000000000..2636fce9d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh new file mode 100644 index 000000000..c01b319f7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf new file mode 100644 index 000000000..5317a1c8b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh new file mode 100644 index 000000000..b75660f6c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf new file mode 100644 index 000000000..0f62cf696 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh new file mode 100644 index 000000000..44f6b4e64 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf new file mode 100644 index 000000000..8d64dd3c1 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh new file mode 100644 index 000000000..2c003fbde Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf new file mode 100644 index 000000000..613491767 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh new file mode 100644 index 000000000..81b6b2afc Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf new file mode 100644 index 000000000..456b9d878 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh new file mode 100644 index 000000000..ac5b8846d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf new file mode 100644 index 000000000..8f49e35ad Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh new file mode 100644 index 000000000..730b550be Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf new file mode 100644 index 000000000..16969cb68 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh new file mode 100644 index 000000000..807bc8fbe Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf new file mode 100644 index 000000000..a7fbcd542 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh new file mode 100644 index 000000000..c8b07c661 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf new file mode 100644 index 000000000..22781ff24 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh new file mode 100644 index 000000000..b95289f81 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf new file mode 100644 index 000000000..5f95e49e8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh new file mode 100644 index 000000000..f68f90697 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf new file mode 100644 index 000000000..dde9b3191 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh new file mode 100644 index 000000000..e117f7fb4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf new file mode 100644 index 000000000..565d05a5d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh new file mode 100644 index 000000000..5806041d4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf new file mode 100644 index 000000000..f7c914238 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh new file mode 100644 index 000000000..80ef89868 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf new file mode 100644 index 000000000..2e18276f1 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh new file mode 100644 index 000000000..daaba7f34 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf new file mode 100644 index 000000000..a89970ab7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh new file mode 100644 index 000000000..fe46098eb Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf new file mode 100644 index 000000000..617d4af82 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh new file mode 100644 index 000000000..5f7077881 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf new file mode 100644 index 000000000..9b94418ba Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh new file mode 100644 index 000000000..d52b12c27 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf new file mode 100644 index 000000000..17010c2f0 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf @@ -0,0 +1,191 @@ +# Header, don't edit +NLF v6 +# Start editing here +# Language ID +10311 +# Font and size - dash (-) means default +- +- +# Codepage - dash (-) means ANSI code page +1200 +# RTL - anything else than RTL means LTR +- +# Translation by .....សុផល្លី (yi sophally, yi.sophally at gmail dot com) +# ^Branding +Nullsoft Install System %s +# ^SetupCaption +ដំឡើងកម្មវិធី $(^Name) +# ^UninstallCaption +លុប $(^Name) ចេញ +#^LicenseSubCaption +: កិច្ចសន្យាអាជ្ញាបប័ណ្ណ +# ^ComponentsSubCaption +: ជំរើសនៃការដំឡើង +# ^DirSubCaption +: ថតដើម្បីដំឡើង +# ^InstallingSubCaption +: កំពុងដំឡើង +# ^CompletedSubCaption +: ដំឡើងរួចរាល់ +# ^UnComponentsSubCaption +: ជំរើសនៃការលុបកម្មវិធីចេញ +# ^UnDirSubCaption +: ថតដែលត្រូវលុបកម្មវិធីចេញ +# ^ConfirmSubCaption +: ការបញ្ជាក់ទទួលយក +# ^UninstallingSubCaption +: កំពុងលុបចេញ +# ^UnCompletedSubCaption +: លុបចេញរួចរាល់ +# ^BackBtn +< &ត្រលប់ក្រោយ +# ^NextBtn +&ទៅមុខ > +# ^AgreeBtn +I &យល់ព្រម +# ^AcceptBtn +ខ្ញុំ &យល់ព្រមតាមកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណ +# ^DontAcceptBtn +&ខ្ញុំមិនយល់ព្រមតាមកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណទេ +# ^InstallBtn +&ដំឡើង +# ^UninstallBtn +&លុបចេញ +# ^CancelBtn +បដិសេធ +# ^CloseBtn +&បិទ +# ^BrowseBtn +ស្វែង&រក... +# ^ShowDetailsBtn +បង្ហាញ &លំអិតសេចក្តី +# ^ClickNext +ចុចទៅមុខដើម្បីបន្ត +# ^ClickInstall +ចុចលើដំឡើងដើម្បីចាប់ផ្តើមដំណើរការ +# ^ClickUninstall +ចុចលើលុបចេញដើម្បីចាប់ផ្តើមលុប +# ^Name +ឈ្មោះ +# ^Completed +រួចរាល់ +# ^LicenseText +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលដំឡើងកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមចុចយក ខ្ញុំយល់ព្រម +# ^LicenseTextCB +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលដំឡើងកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមធិកយកប្រអប់ខាងក្រោម$_CLICK +# ^LicenseTextRB +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលដំឡើងកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមជ្រើសយកជំរើសទីមួយខាងក្រោម $_CLICK +# ^UnLicenseText +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលលុបកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមចុចយក ខ្ញុំយល់ព្រម +# ^UnLicenseTextCB +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលលុបកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមធិកយកប្រអប់ខាងក្រោម$_CLICK +# ^UnLicenseTextRB +សូមអានកិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណមុនពេលលុបកម្មវិធី $(^NameDA) នេះ។ ប្រសិនបើអ្នកយល់ស្របសូមជ្រើសយកជំរើសទីមួយខាងក្រោម $_CLICK +# ^Custom +ជំរើសផ្ទាល់ខ្លួន +# ^ComponentsText +ធិកយកសមាសភាគដែលអ្នកចង់ដំឡើងនិងដោះធិកពីសមាសភាគដែលអ្នកមិនចង់ដំឡើង $_CLICK +# ^ComponentsSubText1 +សូមជ្រើសរើសប្រភេទនៃការដំឡើង: +# ^ComponentsSubText2_NoInstTypes +សូមជ្រើសរើសសមាសភាគដើម្បីដំឡើង: +# ^ComponentsSubText2 +ឬ ជ្រើសរើសសមាសភាគជាជំរើសណាមួយដែលអ្នកចង់ដំឡើង: +# ^UnComponentsText +ធិកយកសមាសភាគដែលអ្នកចង់លុបចេញនិងដោះធិកពីសមាសភាគដែលអ្នកមិនចង់លុបចេញ $_CLICK +# ^UnComponentsSubText1 +សូមជ្រើសរើសប្រភេទនៃការលុបកម្មវិធី: +# ^UnComponentsSubText2_NoInstTypes +សូមជ្រើសរើសសមាសភាគដើម្បីកាត់ចេញ: +# ^UnComponentsSubText2 +ឬ ជ្រើសរើសសមាសភាគជាជំរើសណាមួយដែលអ្នកចង់កាត់ចេញ: +# ^DirText +កម្មវិធីជំនួយនេះនឹងដំឡើង$(^NameDA)នៅក្នុងថតខាងក្រោមនេះ។ ដើម្បីដំឡើងនៅក្នុងថតដទៃទៀតសូមចុចលើស្វែងរក ហើយជ្រើសរើសថតផ្សេងទៀត។ $_CLICK +# ^DirSubText +ថតគោលដៅ +# ^DirBrowseText +ជ្រើសរើសថតដើម្បីដំឡើងកម្មវិធី$(^NameDA): +# ^UnDirText +កម្មវិធីជំនួយនេះនឹងលុប$(^NameDA)ចេញពីថតខាងក្រោមនេះ។ ដើម្បីចេញពីក្នុងថតដទៃទៀតសូមចុចលើស្វែងរក ហើយជ្រើសរើសថតផ្សេងទៀត។ $_CLICK +# ^UnDirSubText +"" +# ^UnDirBrowseText +ជ្រើសរើសថតដើម្បីលុបកម្មវិធី$(^NameDA)ចេញ: +# ^SpaceAvailable +"ចណ្លោះទំហំដែលអាចប្រើប្រាស់បាន: " +# ^SpaceRequired +"តំរូវការទំហំ: " +# ^UninstallingText +$(^NameDA) នឹងត្រូវបានលុបចេញពីថតខាងក្រោមនេះ។ $_CLICK +# ^UninstallingSubText +កំពុងលុបចេញពី: +# ^FileError +មានកំហុសក្នុងការបើកឯកសារដើម្បីសរសេរចូល:\r\n\r\n$0\r\n\r\n សូមចុចលើ បញ្ឈប់ ដើម្បីបញ្ចប់ការដំឡើង \r\n Retry ដើម្បីព្យាយាមម្តងទៀត ឫ បដិសេធដើម្បីបញ្ឈប់ឯកសារនេះ។ +# ^FileError_NoIgnore +មានកំហុសក្នុងការបើកឯកសារដើម្បីសរសេរចូល:\r\n\r\n$0\r\n\r\n សូមចុចលើ Retry ដើម្បីព្យាយាមម្តងទៀត ឫ \r\nបដិសេធ ដើម្បីបញ្ឈប់ការដំឡើង។ +# ^CantWrite +"មិនអាចសរសេរចូលបាន: " +# ^CopyFailed +ការចំលងបរាជ័យ +# ^CopyTo +"ចំលងទៅកាន់ " +# ^Registering +"កំពុងចុះឈ្មោះ: " +# ^Unregistering +"កំពុងលុបឈ្មោះ: " +# ^SymbolNotFound +"មិនអាចរកនិមិត្តសញ្ញាឃើញ: " +# ^CouldNotLoad +"មិនអាចទាញមកបាន: " +# ^CreateFolder +"បង្កើតថត: " +# ^CreateShortcut +"បង្កើតផ្លូវកាត់: " +# ^CreatedUninstaller +"កម្មវិធីដើម្បីលុបត្រូវបានបង្កើត: " +# ^Delete +"លុបឯកសា: " +# ^DeleteOnReboot +"លុបពេលកុំព្យូទ័រដំណើរការឡើងវិញ: " +# ^ErrorCreatingShortcut +"មានកំហុសក្នុងការបង្កើតផ្លូវកាត់: " +# ^ErrorCreating +"មានកំហុសក្នុងការបង្កើត: " +# ^ErrorDecompressing +មានកំហុសក្នុងការពន្លាទិន្នន័យ! កម្មវិធីដំឡើងមានបញ្ហា? +# ^ErrorRegistering +មានកំហុសក្នុងការចុះឈ្មោះ ឌីអិលអិល +# ^ExecShell +"ប្រតិប័ត្តសែល: " +# ^Exec +"ប្រតិប័ត្ត: " +# ^Extract +"ពន្លា: " +# ^ErrorWriting +"ពន្លាឯកសារ: មានបញ្ហាពេលសរសេរចូលឯកសារ " +# ^InvalidOpcode +កម្មវិធីដំឡើងមានបញ្ហា: opcode មិនត្រឹមត្រូវ +# ^NoOLE +"អត់មាន OLE សំរាប់: " +# ^OutputFolder +"ថតសំរាប់ដាក់ទិន្នផល: " +# ^RemoveFolder +"លុបថតឯកសារ: " +# ^RenameOnReboot +"ប្តូរឈ្មោះនៅពេលកុំព្យូទ័រដំណើរការឡើងវិញ: " +# ^Rename +"ប្តូរឈ្មោះ: " +# ^Skipped +"ត្រូវបានរំលង: " +# ^CopyDetails +ចំលងពិពណ៌នាទៅ Clipboard +# ^LogInstall +កត់ត្រាដំណើរការដំឡើង +# ^Byte +B +# ^Kilo +K +# ^Mega +M +# ^Giga +G \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh new file mode 100644 index 000000000..ec33eead1 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh @@ -0,0 +1,129 @@ +;Language: Khmer (1033) +;By yi.sophally + +!insertmacro LANGFILE "Khmer" "ភាសាខ្មែរ" + +!ifdef MUI_WELCOMEPAGE + ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "សូមស្វាគមន៍ចំពោះការដំឡើងកម្មវិធី $(^NameDA)" + ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "កម្មវិធីជំនួយនេះនឹងនាំអ្នកដល់ការដំឡើងកម្មវិធីនៃកម្មវិធី $(^NameDA).$\r$\n$\r$\nIt ដែលសូមអោយអ្នកបិទនូវកម្មវិធីទាំងឡាយផ្សេងទៀតមុនពេលចាប់ផ្តើមការដំឡើង។ ដើម្បីងាយស្រួលក្នុងការកែប្រែឯកសារនៃប្រព័ន្ធប្រតិបត្តការដោយមិនចាំបាច់ចាប់ផ្តើមដំណើរការម៉ាស៊ីនរបស់អ្នកសារជាថ្មី។ $\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_UNWELCOMEPAGE + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "ស្វាគមន៍ចំពោះការលុបកម្មវិធី $(^NameDA) នេះ" + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "កម្មវិធីជំនួយនេះនឹងនាំអ្នកដល់ការលុបចេញនៃកម្មវិធី$(^NameDA).$\r$\n$\r$\n មុនពេលចាប់ផ្តើមលុបចេញ សូមអោយប្រាកដថាកម្មវិធី $(^NameDA) មិនមែនកំពុងដំណើរការ$\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE + ${LangFileString} MUI_TEXT_LICENSE_TITLE "កិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណ" + ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "សូមអានអាជ្ញាប័ណ្ណអោយបានត្រឹមត្រូវមុនពេលដំឡើងកម្មវិធី $(^NameDA)។" + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាង សូមចុច ខ្ញុំយល់ព្រម ដើម្បីដំណើរការបន្ត។ ដើម្បីដំឡើងកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង។" + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាងសូមចុចធិចប្រអប់ខាងក្រោម។ ដើម្បីដំឡើងកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង $_CLICK" + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាងសូមជ្រើសរើសជំរើសទីមួយខាងក្រោម។ ដើម្បីដំឡើងកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង $_CLICK" +!endif + +!ifdef MUI_UNLICENSEPAGE + ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "កិច្ចព្រមព្រាងអាជ្ញាប័ណ្ណ" + ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "សូមអានអាជ្ញាប័ណ្ណអោយបានត្រឹមត្រូវមុនពេលលុបកម្មវិធី $(^NameDA)ចេញ។" + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាង សូមចុច I Agree ដើម្បីដំណើរការបន្ត។ ដើម្បីលុបកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង $_CLICK" + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាងសូមចុចធិចប្រអប់ខាងក្រោម។ ដើម្បីលុបកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង $_CLICK" + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ប្រសិនបើអ្នកយល់ព្រមតាមកិច្ចព្រមព្រាងសូមជ្រើសរើសជំរើសទីមួយខាងក្រោម។ ដើម្បីលុបកម្មវិធី $(^NameDA) នេះអ្នកត្រូវតែយល់ព្រមតាមកិច្ចព្រមព្រាង $_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE + ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "សូមចុច Page Down ដើម្បីមើលកិច្ចព្រមព្រាងដែលនៅសល់" +!endif + +!ifdef MUI_COMPONENTSPAGE + ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ជ្រើសរើសសមាសភាគ" + ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "ជ្រើសរើសដំណើរការនៃកម្មវិធី $(^NameDA) ដែលអ្នកចង់ដំឡើង" +!endif + +!ifdef MUI_UNCOMPONENTSPAGE + ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ជ្រើសរើសសមាសភាគ" + ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "ជ្រើសរើសដំណើរការនៃកម្មវិធី $(^NameDA) ដែលអ្នកចង់លប់" +!endif + +!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ការពិពណ័នា" + !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ដាក់កណ្តុរបញ្ជារបស់អ្នកលើសមាសភាគណាមួយដើម្បីមើលការពិពណ៍នារបស់វា។" + !else + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ដាក់កណ្តុរបញ្ជារបស់អ្នកលើសមាសភាគណាមួយដើម្បីមើលការពិពណ៍នារបស់វា។" + !endif +!endif + +!ifdef MUI_DIRECTORYPAGE + ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ជ្រើសរើសកន្លែងដើម្បីដំឡើង" + ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "ជ្រើសរើសថតដើម្បីដំឡើងកម្មវិធី $(^NameDA) ។" +!endif + +!ifdef MUI_UNDIRECTORYPAGE + ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "ជ្រើសរើសកន្លែងដែលត្រូវលប់ចេញ" + ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "ជ្រើសរើសថតដើម្បីលប់កម្មវិធី $(^NameDA) ចេញ។" +!endif + +!ifdef MUI_INSTFILESPAGE + ${LangFileString} MUI_TEXT_INSTALLING_TITLE "កំពុងដំឡើង" + ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "សូមមេត្តារង់ចាំខណះដែលកម្មវិធី $(^NameDA) កំពុងត្រូវបានដំឡើង។" + ${LangFileString} MUI_TEXT_FINISH_TITLE "ការដំឡើងរួចរាល់" + ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ការដំឡើងត្រូវបានបញ្ចប់ដោយជោគជ័យ" + ${LangFileString} MUI_TEXT_ABORT_TITLE "ការដំឡើងត្រូវបានបញ្ឈប់" + ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ការដំឡើងត្រូវបានបរាជ័យ។" +!endif + +!ifdef MUI_UNINSTFILESPAGE + ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "កំពុងដំណើរការលុប" + ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "សូមមេត្តារង់ចាំខណះដែលកម្មវិធី $(^NameDA) កំពុងត្រូវបានលុប។" + ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ការលុបចេញរួចរាល់" + ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ការលុបចេញត្រូវបានបរាជ័យ។" + ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ការលុបចេញត្រូវបានបញ្ឈប់" + ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ការលុបចេញត្រូវបានបរាជ័យ" +!endif + +!ifdef MUI_FINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "កម្មវិធីជំនួយក្នុងការដំឡើង $(^NameDA) កំពុងត្រូវបានបញ្ចប់" + ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "កម្មវិធី $(^NameDA) បានត្រូវដំឡើងរួចរាល់នៅក្នុងកុំព្យូទ័ររបស់អ្នក។ $\r$\n$\r$\nចុច Finish ដើម្បីបិទកម្មវិធីជំនួយនេះ" + ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "កុំព្យូទ័ររបស់អ្នកត្រូវតែចាប់ដំណើរការសារជាថ្មីដើម្បីបំពេញការដំឡើងកម្មវិធី $(^NameDA) នេះ។ តើអ្នកចង់ចាប់ផ្តើមដំណើរការកុំព្យូទ័រអ្នកឡើងវិញពេលនេះ?" +!endif + +!ifdef MUI_UNFINISHPAGE + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "កម្មវិធីជំនួយក្នុងការលុប $(^NameDA) កំពុងត្រូវបានបញ្ចប់" + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "កម្មវិធី $(^NameDA) បានត្រូវលុបរួចរាល់ពីក្នុងកុំព្យូទ័ររបស់អ្នក។ $\r$\n$\r$\nចុច Finish ដើម្បីបិទកម្មវិធីជំនួយនេះ" + ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "កុំព្យូទ័ររបស់អ្នកត្រូវតែចាប់ដំណើរការសារជាថ្មីដើម្បីបំពេញការដំឡើងកម្មវិធី $(^NameDA) នេះ។ តើអ្នកចង់ចាប់ផ្តើមដំណើរការកុំព្យូទ័រអ្នកឡើងវិញពេលនេះ?" +!endif + +!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ចាប់ផ្តើមដំណើរការកុំព្យូទ័រឡើងវិញពេលនេះ" + ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "ចង់ដំណើរការកុំព្យូទ័រដោយខ្លួនឯងពេលក្រោយ" + ${LangFileString} MUI_TEXT_FINISH_RUN "&Run $(^NameDA)" + ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Show Readme" + ${LangFileString} MUI_BUTTONTEXT_FINISH "&Finish" +!endif + +!ifdef MUI_STARTMENUPAGE + ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ជ្រើសរើសថតម៉ឺនុយ Start " + ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "ជ្រើសរើសថតម៉ឺនុយ Start ដើម្បីបង្កើតផ្លូវកាត់ទៅកម្មវិធី $(^NameDA) ។" + ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "ជ្រើសរើសថតម៉ឺនុយ Start ដែលអ្នកចង់បង្កើតផ្លូវកាត់ទៅកម្មវិធីនេះ។ អ្នកក៏អាចបញ្ចូលឈ្មោះមួយដើម្បីបង្កើតថតថ្មីមួយទៀត។" + ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "មិនបាច់បង្កើតផ្លូវកាត់" +!endif + +!ifdef MUI_UNCONFIRMPAGE + ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "លុបកម្មវិធី $(^NameDA) ចេញ" + ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "លុបកម្មវិធី $(^NameDA) ចេញពីកុំព្យូទ័ររបស់អ្នក។" +!endif + +!ifdef MUI_ABORTWARNING + ${LangFileString} MUI_TEXT_ABORTWARNING "តើអ្នកប្រាកដថានឹងចាកចេញពីការដំឡើងកម្មវិធី $(^Name) នេះមែនទេ?" +!endif + +!ifdef MUI_UNABORTWARNING + ${LangFileString} MUI_UNTEXT_ABORTWARNING "តើអ្នកប្រាកដថានឹងចាកចេញពីការលុបកម្មវិធី $(^Name) នេះមែនទេ?" +!endif + +!ifdef MULTIUSER_INSTALLMODEPAGE + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "ជ្រើសរើសអ្នកប្រើប្រាស់" + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "ជ្រើសរើសអ្នកប្រើប្រាស់ទាំងឡាយណាដែលអ្នកចង់អោយប្រើកម្មវិធី $(^NameDA) នេះ។" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "សូមជ្រើសរើសថាតើអ្នកចង់ដំឡើងកម្មវិធី $(^NameDA) សំរាប់តែខ្លួនអ្នក រឺ សំរាប់អ្នករាល់គ្នាដែលប្រើកុំព្យូទ័រនេះ។ $(^ClickNext)" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "ដំឡើងសំរាប់អ្នកទាំងឡាយដែលប្រើកុំព្យូទ័រនេះ" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "ដំឡើងសំរាប់តែខ្ញុំម្នាក់" +!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf new file mode 100644 index 000000000..6160fd837 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh new file mode 100644 index 000000000..615227f7b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf new file mode 100644 index 000000000..5f244548d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh new file mode 100644 index 000000000..c5d33d2be Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf new file mode 100644 index 000000000..03a5baeff Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh new file mode 100644 index 000000000..273331eae Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf new file mode 100644 index 000000000..bc3dd775f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh new file mode 100644 index 000000000..78880deac Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf new file mode 100644 index 000000000..20c879bc3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh new file mode 100644 index 000000000..c18a407ed Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf new file mode 100644 index 000000000..69bd7d890 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh new file mode 100644 index 000000000..f1d4fae8d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf new file mode 100644 index 000000000..dd73961a1 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh new file mode 100644 index 000000000..d84573eda Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf new file mode 100644 index 000000000..8072d5454 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh new file mode 100644 index 000000000..feaea4134 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf new file mode 100644 index 000000000..c9f7fe38f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh new file mode 100644 index 000000000..b9a6d4938 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf new file mode 100644 index 000000000..eef204b46 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh new file mode 100644 index 000000000..4ae470a68 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf new file mode 100644 index 000000000..4536a8c8a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh new file mode 100644 index 000000000..dd6f8fb6c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf new file mode 100644 index 000000000..884e2b7d6 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh new file mode 100644 index 000000000..4cabf6b90 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf new file mode 100644 index 000000000..491629bc6 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh new file mode 100644 index 000000000..d92e470e5 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf new file mode 100644 index 000000000..082fb1b4e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh new file mode 100644 index 000000000..2974313fa Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf new file mode 100644 index 000000000..505844b70 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh new file mode 100644 index 000000000..01d6183f9 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf new file mode 100644 index 000000000..b69ebe91f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh new file mode 100644 index 000000000..9898022f1 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf new file mode 100644 index 000000000..253fa5995 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh new file mode 100644 index 000000000..df536bb51 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf new file mode 100644 index 000000000..32404fd08 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh new file mode 100644 index 000000000..aa3d93edb Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf new file mode 100644 index 000000000..5ef26d210 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh new file mode 100644 index 000000000..66b443176 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf new file mode 100644 index 000000000..ad66c887b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh new file mode 100644 index 000000000..59a5e295d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf new file mode 100644 index 000000000..344bb35fd Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh new file mode 100644 index 000000000..68d1dcc00 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf new file mode 100644 index 000000000..8020787ae Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh new file mode 100644 index 000000000..eac523832 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf new file mode 100644 index 000000000..ba985650c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh new file mode 100644 index 000000000..52db6a368 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf new file mode 100644 index 000000000..f78148893 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh new file mode 100644 index 000000000..15281a0d3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf new file mode 100644 index 000000000..6134f11fd Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh new file mode 100644 index 000000000..4a4b59010 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf new file mode 100644 index 000000000..143ba7a9d --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf @@ -0,0 +1,191 @@ +# Header, Ulah dirop�a +NLF v6 +# mimitian ti dieu +# ID Sundanese +33 +# Font and size - dash (-) means default +- +- +# Codepage - dash (-) means ANSI code page +- +# RTL - anything else than RTL means LTR +- +# Translation sukma gemala [http://facebook.com/sukma.gemala] +# ^Branding +Sistem Pamasang Nullsoft %s +# ^SetupCaption +Masangkeun $(^Name) +# ^UninstallCaption +Miceun $(^Name) +# ^LicenseSubCaption +: Aturan jeung Kasapukan +# ^ComponentsSubCaption +: Pilihan Instalasi +# ^DirSubCaption +: Map Instalasi +# ^InstallingSubCaption +: Masangkeun +# ^CompletedSubCaption +: R�ngs� +# ^UnComponentsSubCaption +: Pilihan Miceun +# ^UnDirSubCaption +: Map Miceun +# ^ConfirmSubCaption +: Muguhkeun +# ^UninstallingSubCaption +: Miceun instalasi +# ^UnCompletedSubCaption +: R�ngs� +# ^BackBtn +< Sam&�m�hna +# ^NextBtn +Tulu&ykeun > +# ^AgreeBtn +&Sapuk +# ^AcceptBtn +S&apuk +# ^DontAcceptBtn +Te&u sapuk +# ^InstallBtn +&Pasang +# ^UninstallBtn +Pi&ceun +# ^CancelBtn +&Bolay +# ^CloseBtn +&Tutup +# ^BrowseBtn +Pili&h... +# ^ShowDetailsBtn +&Detil +# ^ClickNext +Klik Tuluykeun pikeun nuluykeun. +# ^ClickInstall +Klik Pasang pikeun ngamimitian masang $(^Name). +# ^ClickUninstall +Klik Piceun pikeun ngamimitian miceun $(^Name). +# ^Name +Ngaran +# ^Completed +R�ngs� +# ^LicenseText +Imeutan ieu kasapukan sam�m�h masangkeun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, klik Sapuk. +# ^LicenseTextCB +Imeutan ieu kasapukan sam�m�h masangkeun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, b�r� contr�ng. $_CLICK +# ^LicenseTextRB +Imeutan ieu kasapukan sam�m�h masangkeun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK +# ^UnLicenseText +Imeutan ieu kasapukan sam�m�h miceun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, klik Sapuk. +# ^UnLicenseTextCB +Imeutan ieu kasapukan sam�m�h miceun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, b�r� contr�ng. $_CLICK +# ^UnLicenseTextRB +Imeutan ieu kasapukan sam�m�h miceun $(^NameDA). Lamun anjeun narima sakab�h anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK +# ^Custom +Reka +# ^ComponentsText +Contr�ng dina kompon�n anu r�k dipasang atawa piceun contr�ngna lamun teu pati perlu. $_CLICK +# ^ComponentsSubText1 +Pilih tipeu instalasi: +# ^ComponentsSubText2_NoInstTypes +Pilih kompon�n-kompon�n anu bakal dipasang: +# ^ComponentsSubText2 +Atawa, pilih ieu kompon�n anu bakal dipasang: +# ^UnComponentsText +Contr�ng dina kompon�n anu r�k dipiceun. $_CLICK +# ^UnComponentsSubText1 +Pilih tipeu miceun: +# ^UnComponentsSubText2_NoInstTypes +Pilih kompon�n-kompon�n anu r�k dipiceun: +# ^UnComponentsSubText2 +Atawa, pilih ieu kompon�n anu r�k dipiceun: +# ^DirText +$(^NameDA) bakal dipasang dina ieu map. Pikeun milih map s�j�n, klik Pilih tuluy tangtukeun map nu dipikahayang ku ajeun. $_CLICK +# ^DirSubText +Map anu dituju +# ^DirBrowseText +Pilih map pikeun tempat masangkeun $(^NameDA): +# ^UnDirText +$(^NameDA) bakal dipiceun tina ieu map. Pikeun milih map s�j�n, klik Pilih tuluy tangtukeun map nu dipikahayang ku ajeun. $_CLICK +# ^UnDirSubText +"" +# ^UnDirBrowseText +Pilih map pikeun tempat miceun $(^NameDA): +# ^SpaceAvailable +"Rohang disk anu nyampak: " +# ^SpaceRequired +"Rohang disk anu dibutuhkeun: " +# ^UninstallingText +$(^NameDA) bakal dipiceun tina ieu map. $_CLICK +# ^UninstallingSubText +Miceun instalasi: +# ^FileError +Henteu bisa nulis koropak: \r\n\t"$0"\r\nKlik abort pikeun ngabolaykeun instalasi,\r\nretry pikeun nyoba deui, atawa\r\nignore lamun moal dipalir�. +# ^FileError_NoIgnore +Henteu bisa nulis koropak: \r\n\t"$0"\r\nKlik retry pikeun nyobaan deui, atawa\r\ncancel pikeun ngabolaykeun instalasi +# ^CantWrite +"Henteu bisa nulis dina: " +# ^CopyFailed +Pros�s niron gagal +# ^CopyTo +"Ditiron kana " +# ^Registering +"Ngadaftarkeun modul: " +# ^Unregistering +"Ngudar modul: " +# ^SymbolNotFound +"Henteu manggih : " +# ^CouldNotLoad +"Henteu bisa muka: " +# ^CreateFolder +"Nyieun map: " +# ^CreateShortcut +"Nyieun tumbu: " +# ^CreatedUninstaller +"Nyieun aplikasi pamiceun instalasi: " +# ^Delete +"Mupus koropak: " +# ^DeleteOnReboot +"Bakal dipupus nalika komputer dimimitian-deui: " +# ^ErrorCreatingShortcut +"Henteu bisa nyieun tumbu: " +# ^ErrorCreating +"Kasalahan dina nyieun: " +# ^ErrorDecompressing +Kasalahan nalika muka g�mbolan data! Aplikasi Pamasang ruksak +# ^ErrorRegistering +Kasalahan nalika ngadaftarkeun modul DLL +# ^ExecShell +"ExecShell: " +# ^Exec +"Ngajalankeun: " +# ^Extract +"Muka g�mbolan: " +# ^ErrorWriting +"G�mbolan: kasalahan nalika nulis koropak " +# ^InvalidOpcode +Program Pamasang: opcode henteu lengkep +# ^NoOLE +"OLE henteu kapanggih: " +# ^OutputFolder +"Map anu dituju: " +# ^RemoveFolder +"Mupus map: " +# ^RenameOnReboot +"Bakal diganti ngaranna nalika dimimitian-deui (restart): " +# ^Rename +"Ngaganti ngaran: " +# ^Skipped +Diliwat: " +# ^CopyDetails +Tiron Detil kana Clipboard +# ^LogInstall +Catet pros�s instalasi +# ^Byte +B +# ^Kilo +K +# ^Mega +M +# ^Giga +G \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh new file mode 100644 index 000000000..2397ec9ad --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh @@ -0,0 +1,129 @@ +;Language: Sundanese (33) +;By sukma gemala - http://facebook.com/sukma.gemala + +!insertmacro LANGFILE "Sundanese" "Basa Sunda" + +!ifdef MUI_WELCOMEPAGE + ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Bag�a, ieu t�h Apingan Masang $(^NameDA)" + ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Apingan Masang bakal ngaping anjeun dina pros�s masangkeun $(^NameDA).$\r$\n$\r$\nAlusna mah tutupkeun heula program s�j�n anu ayeuna keur dijalankeun sam�m�h nuluykeun masang ieu program. Eta hal aya patalina jeung kaperluan ngarobah file anu keur dipak� ku sistem tanpa kudu ngamimitian-deui (restart) komputer anjeun.$\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_UNWELCOMEPAGE + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Bag�a, ieu t�h Apingan Miceun $(^NameDA)" + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Apingan Miceun bakal ngaping anjeun dina pros�s miceun $(^NameDA).$\r$\n$\r$\nSamemeh ngamimitian miceun instalasina, anjeun kudu yakin heula y�n $(^NameDA) henteu eukeur dijalankeun.$\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE + ${LangFileString} MUI_TEXT_LICENSE_TITLE "Aturan jeung Kasapukan" + ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Imeutan ieu aturan jeung kasapukan sam�m�h masangkeun $(^NameDA)." + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakab�h anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA)." + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakab�h anu dipedar dina kasapukan, b�r� contr�ng. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA). $_CLICK" + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakab�h anu dipedar dina kasapukan, pilih salah sahiji anu aya dihandap. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA). $_CLICK" +!endif + +!ifdef MUI_UNLICENSEPAGE + ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Aturan jeung Kasapukan" + ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Imeutan ieu aturan jeung kasapukan sam�m�h miceun $(^NameDA)." + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakab�h anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa miceun $(^NameDA)." + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakab�h anu dipedar dina kasapukan, b�r� contr�ng. Anjeun kudu satuju sangkan bisa miceun $(^NameDA). $_CLICK" + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakab�h anu dipedar dina kasapukan, pilih salah sahiji anu aya dihandap. Anjeun kudu satuju sangkan bisa miceun $(^NameDA). $_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE + ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Penc�t Page Down pikeun ningali tuluyanana." +!endif + +!ifdef MUI_COMPONENTSPAGE + ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Milih Kompon�n" + ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu r�k dipasang." + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Wangenan" +!endif + +!ifdef MUI_UNCOMPONENTSPAGE + ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Milih Kompon�n" + ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu r�k dipiceun." +!endif + +!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE + !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk salah sahiji pikeun ningali kateranganana." + !else + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk salah sahiji pikeun ningali kateranganana." + !endif +!endif + +!ifdef MUI_DIRECTORYPAGE + ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Milih Lokasi Masang" + ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Pilih map pikeun tempat masangkeun $(^NameDA)." +!endif + +!ifdef MUI_UNDIRECTORYSPAGE + ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Milih Lokasi Miceun" + ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Pilih map pikeun tempat miceun $(^NameDA)." +!endif + +!ifdef MUI_INSTFILESPAGE + ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Masang" + ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Tungguan, $(^NameDA) eukeur dipasangkeun." + ${LangFileString} MUI_TEXT_FINISH_TITLE "Pros�s Masangkeun R�ngs�" + ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "$(^NameDA) r�ngs� dipasangkeun." + ${LangFileString} MUI_TEXT_ABORT_TITLE "Pros�s Masang Dibolaykeun" + ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Masangkeun r�ngs� tapi can sampurna." +!endif + +!ifdef MUI_UNINSTFILESPAGE + ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Miceun" + ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Tungguan, $(^NameDA) eukeur dipiceun." + ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Pros�s Miceun R�ngs�" + ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "$(^NameDA) r�ngs� dipiceun." + ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Pros�s Miceun Dibolaykeun" + ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Miceun r�ngs� tapi can sampurna." +!endif + +!ifdef MUI_FINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Ngar�ngs�keun Apingan Masang $(^NameDA)" + ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipasangkeun kana komputer anjeun.$\r$\n$\r$\nKlik R�ngs� pikeun nutup Apingan Masang." + ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngar�ngs�keun pros�s instalasi $(^NameDA). Mmimitian-deui ayeuna?" +!endif + +!ifdef MUI_UNFINISHPAGE + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Ngar�ngs�keun Apingan Miceun $(^NameDA)" + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipiceun tina komputer anjeun.$\r$\n$\r$\nKlik R�ngs� pikeun nutup Apingan Miceun." + ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngar�ngs�keun pros�s uninstall $(^NameDA). Mmimitian-deui ayeuna?" +!endif + +!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Mimitian-deui" + ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Moal waka" + ${LangFileString} MUI_TEXT_FINISH_RUN "&Jalankeun $(^NameDA)" + ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Buka Koropak Bacaheula" + ${LangFileString} MUI_BUTTONTEXT_FINISH "&R�ngs�" +!endif + +!ifdef MUI_STARTMENUPAGE + ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Milih Menu Mimiti" + ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Pilih map Menu Mimiti (Start Menu) pikeun nempatkeun tumbu $(^NameDA)." + ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Pilih map Menu Mimiti (Start Menu) pikeun nempatkeun tumbu ieu program. Og� bisa nyieun ngaran map anyar." + ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ulah nyieun tumbu" +!endif + +!ifdef MUI_UNCONFIRMPAGE + ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Miceun $(^NameDA)" + ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Miceun $(^NameDA) tina komputer anjeun." +!endif + +!ifdef MUI_ABORTWARNING + ${LangFileString} MUI_TEXT_ABORTWARNING "Bener, r�k kaluar tina pros�s masangkeun $(^Name)?" +!endif + +!ifdef MUI_UNABORTWARNING + ${LangFileString} MUI_UNTEXT_ABORTWARNING "Bener, r�k kaluar tina pros�s miceun $(^Name)?" +!endif + +!ifdef MULTIUSER_INSTALLMODEPAGE + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Milih Pamak�" + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Milih pamak� anu r�k dipasangkeun $(^NameDA)." + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Pilih tujuan masangkeun $(^NameDA) keur soranganeun atawa keur kab�h pamak� komputer ieu. $(^ClickNext)" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Pasangkeun keur kab�h pamak� komputer ieu" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Kuring wungkul" +!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf new file mode 100644 index 000000000..4a498ed90 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh new file mode 100644 index 000000000..0bb6cbceb Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf new file mode 100644 index 000000000..20e1b4ee0 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh new file mode 100644 index 000000000..f1525fc8d Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf new file mode 100644 index 000000000..d1dce0540 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh new file mode 100644 index 000000000..b47ad88e7 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf new file mode 100644 index 000000000..34ec33370 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh new file mode 100644 index 000000000..29e74dce9 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf new file mode 100644 index 000000000..90700348b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh new file mode 100644 index 000000000..b46dd6fd5 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf new file mode 100644 index 000000000..bd1968b4b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh new file mode 100644 index 000000000..2f5586df2 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf new file mode 100644 index 000000000..5d2a6bc2c Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh new file mode 100644 index 000000000..8aeea8f4e Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf new file mode 100644 index 000000000..e556221fd Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh new file mode 100644 index 000000000..7111d5193 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf new file mode 100644 index 000000000..6d0aed542 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf @@ -0,0 +1,191 @@ +# Header, don't edit +NLF v6 +# Start editing here +# Language ID +1152 +# Font and size - dash (-) means default فونت نامى ۋە چوڭلىقى +Arial +9 +# Codepage - dash (-) means ANSI code page كودبېتى +65001 +# RTL - anything else than RTL means LTR ئوڭدىن سولغا يېزىش +RTL +# Translation by Yasinjan Ghupur (yasenghupur@sina.com) 26 April 2012 +# ^Branding +Nullsoft Install System %s +# ^SetupCaption +$(^Name) قاچىلاش +# ^UninstallCaption +$(^Name) ئۆچۈرۈش +# ^LicenseSubCaption +: ئىجازەت كېلىشىمى +# ^ComponentsSubCaption +: قاچىلاش تاللاشلىرى +# ^DirSubCaption +: قاچىلايدىغان قىسقۇچ +# ^InstallingSubCaption +: قاچىلاۋاتىدۇ +# ^CompletedSubCaption +: تاماملاندى +# ^UnComponentsSubCaption +: ئۆچۈرۈش تاللاشلىرى +# ^UnDirSubCaption +: ئۆچۈرۈدىغان قىسقۇچ +# ^ConfirmSubCaption +: جەزىملەش +# ^UninstallingSubCaption +: ئۆچۈرۈۋاتىدۇ +# ^UnCompletedSubCaption +: تاماملاندى +# ^BackBtn +< &كەينىگە +# ^NextBtn +&ئالدىغا > +# ^AgreeBtn +قوشۇلىمەن +# ^AcceptBtn + ئىجازەت كېلىشىمىدىكى تۈرلەرگە قوشۇلىمەن +# ^DontAcceptBtn + ئىجازەت كېلىشىمىدىكى تۈرلەرگە قوشۇلمايمەن +# ^InstallBtn +&قاچىلاش +# ^UninstallBtn +& ئۆچۈرۈش +# ^CancelBtn +قالدۇرۇش +# ^CloseBtn +&يېپىش +# ^BrowseBtn +كۆرۈش... +# ^ShowDetailsBtn +تەپسىلاتىنى كۆرۈش +# ^ClickNext +ئالدىغا نى چېكىپ داۋاملاشتۇرۇڭ. +# ^ClickInstall +قاچىلاش نى چېكىپ قاچىلاشنى باشلاڭ. +# ^ClickUninstall +ئۆچۈرۈش نى چېكىپ ئۆچۈرۈشنى باشلاڭ. +# ^Name +نامى +# ^Completed +تاماملاندى +# ^LicenseText +$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،قوشۇلىمەن نى بېسىڭ . +# ^LicenseTextCB +$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتەكچىسى نى چېكىڭ . $_CLICK +# ^LicenseTextRB +$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،بىرىنجى تاللاش نى تاللاڭ . $_CLICK +# ^UnLicenseText +$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،قوشۇلىمەن نى بېسىڭ . +# ^UnLicenseTextCB +$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتەكچىسى نى چېكىڭ . $_CLICK +# ^UnLicenseTextRB +$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،بىرىنجى تاللاش نى تاللاڭ . $_CLICK +# ^Custom +ئۆزى بېكىتىش +# ^ComponentsText +قاچىلايدىغان بۆلەكلەرنى تاللاڭ ۋە قاچىلىمايدىغان بۆلەكلەرنى تاللىماڭ. $_CLICK +# ^ComponentsSubText1 +قاچىلاش ئۇسلۇبىنى تاللاڭ: +# ^ComponentsSubText2_NoInstTypes +قاچىلاش بۆلىكىنى تاللاڭ: +# ^ComponentsSubText2 +ياكى قاچىلىماقچى بولغان بۆلەكنى تاللاڭ: +# ^UnComponentsText +ئۆچۈرمەكچى بولغان بۆلەكنى تاللاڭ ھەمدە ئۆچۈرمەيدىغان بۆلەكنى تاللىماڭ. $_CLICK +# ^UnComponentsSubText1 +ئۆچۈرۈش ئۇسلۇبىنى تاللاڭ: +# ^UnComponentsSubText2_NoInstTypes +ئۆچۈرۈش بۆلىكىنى تاللاڭ: +# ^UnComponentsSubText2 +ياكى ئۆچۈرمەكچى بولغان بۆلەكنى تاللاڭ: +# ^DirText + قاچىلاش يېتەكچىسى $(^NameDA) نى بۇ قىسقۇچنىڭ ئاستىغا قاچىلايدۇ.باشقا قىسقۇچقا قاچىلماقچى بولسىڭىز،كۆرۈش نى چېكىپ باشقا قىسقۇچنى تاللاڭ . $_CLICK +# ^DirSubText +نىشان قىسقۇچ +# ^DirBrowseText +نى قاچىلايدىغان قىسقۇچنى تاللاڭ $(^NameDA): +# ^UnDirText +قاچىلاش يېتەكچىسى $(^NameDA) نى بۇ قىسقۇچنىڭ ئاستىدىن ئۆچۈرۈدۇ.باشقا قىسقۇچتىن ئۆچۈرمەكچى بولسىڭىز،كۆرۈش نى چېكىپ باشقا قىسقۇچنى تاللاڭ . $_CLICK +# ^UnDirSubText +"" +# ^UnDirBrowseText + $(^NameDA) نى ئۆچۈرۈدىغان قىسقۇچنى تاللاڭ : +# ^SpaceAvailable +"قاچىلاش بوشلۇقى يېتەرلىك: " +# ^SpaceRequired +" ئېھتىياجلىق قاچىلاش بوشلۇقى : " +# ^UninstallingText +$(^NameDA) نى تۆۋەندىكى قىسقۇچتىن ئۆچۈرۈدۇ. $_CLICK +# ^UninstallingSubText +دىن ئۆچۈرۈۋاتىدۇ: +# ^FileError +يازىدىغان ھۆججەتنى ئېچىش خاتالىقى: \r\n\r\n$0\r\n\r\nتوختىتۇش نى بېسىپ قاچىلاشنى توختۇتۇش,\r\nقايتىلاش ياكى \r\nبۇ ھۆججەتتىن ئاتلاپ ئۆتۈپ كېتىش. +# ^FileError_NoIgnore +يازىدىغان ھۆججەتنى ئېچىش خاتالىقى: \r\n\r\n$0\r\n\r\nقايتىلاش نى بېسىپ قاچىلاشنى قايتىلاش ياكى \r\n قاچىلاشنى قالدۇرۇش . +# ^CantWrite +"يازالمىدى: " +# ^CopyFailed +كۆچۈرەلمىدى +# ^CopyTo +"گە كۆچۈرۈش " +# ^Registering +"رۇيخەتكە ئېلىۋاتىدۇ: " +# ^Unregistering +"رۇيخەتتىن ئۆچۈرۈۋاتىدۇ: " +# ^SymbolNotFound +"بەلگىنى تاپالمىدى: " +# ^CouldNotLoad +"يۈكلىيەلمىدى: " +# ^CreateFolder +"قىسقۇچ قۇرۇش: " +# ^CreateShortcut +"تېزكۆرگۈچ قۇرۇش: " +# ^CreatedUninstaller +" ئۆچۈرۈش يېتەكچىسى ياسالدى: " +# ^Delete +"ھۆججەت ئۆچۈرۈش: " +# ^DeleteOnReboot +"قايتا قوزغالغاندا ئۆچۈرۈش: " +# ^ErrorCreatingShortcut +"تېزكۆرگۈچ قۇرۇش خاتالىقى: " +# ^ErrorCreating +"قۇرۇش خاتالىقى: " +# ^ErrorDecompressing +مەلۇماتلارنى ئەسلىگە قايتۇرۇش خاتالىقى! قاچىلاش يېتەكچىسى بۇزۇلغانمۇ؟ +# ^ErrorRegistering +DLL نى رۇيخەتكە ئېلىش خاتالىقى +# ^ExecShell +"قاپلىنىش بۇيرۇقى ئىجرا قىلىش : " +# ^Exec +"ئىجرا قىلىش: " +# ^Extract +"يېيىش: " +# ^ErrorWriting +"يېيىش : ھۆججەتكە يېزىش خاتالىقى " +# ^InvalidOpcode +قاچىلاش يېتەكچىسى بۇزۇلغان : ئىناۋەتسىز كود +# ^NoOLE +"گە OLE يوق : " +# ^OutputFolder +"چىقىرىدىغان قىسقۇچ: " +# ^RemoveFolder +"قىسقۇچنى ئۆچۈرۈش: " +# ^RenameOnReboot +" قايتا قوزغالغاندا نامىنى ئۆزگەرتىش: " +# ^Rename +"نامىنى ئۆزگەرتىش: " +# ^Skipped +"ئاتلاپ ئۆتتى: " +# ^CopyDetails +تەپسىلاتىنى ئىشتاختىغا كۆچۈرۈش +# ^LogInstall +قاچىلاش جەريانى خاتىرسى +# ^Byte +بايىت +# ^Kilo + كىلو +# ^Mega + مېگا +# ^Giga + گىگا \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh new file mode 100644 index 000000000..76bf6a615 --- /dev/null +++ b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh @@ -0,0 +1,129 @@ +;Language: Uyghur (1152) +;Uyghur(China), Translated By Yasinjan Ghupur (yasenghupur@sina.com) + +!insertmacro LANGFILE "Uyghur" "Uyghur" + +!ifdef MUI_WELCOMEPAGE + ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE " $(^NameDA) نى قاچىلاش يېتەكچىسىنى ئىشلىتىشىڭىزنى قارشى ئالىدۇ" + ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "قاچىلاش يېتەكچىسى $(^NameDA)نى قاچىلاش جەريانىغا يېتەكچىلىك قىلىدۇ .$\r$\n$\r$\nقاچىلاشتىن بۇرۇن بارلىق پروگراممىلارنى يېپىۋېتىشنى تەۋسىيە قىلىدۇ،بۇنىڭ بىلەن قاچىلاپ بولغاندىن كېيىن كومپيۇتېرىڭىزنى قايتا قوزغاتمىسىڭىزمۇ بولىدۇ.$\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_UNWELCOMEPAGE + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE " $(^NameDA) نى ئۆچۈرۈش يېتەكچىسىنى ئىشلىتىشىڭىزنى قارشى ئالىدۇ" + ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "ئۆچۈرۈش يېتەكچىسى$(^NameDA)نى ئۆچۈرۈش جەريانىغا يېتەكچىلىك قىلىدۇ .$\r$\n$\r$\n ئۆچۈرۈشتىن بۇرۇن $(^NameDA)نىڭ قوزغىتىلمىغانلىقىنى جەزىملەشتۈرۈڭ.$\r$\n$\r$\n$_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE + ${LangFileString} MUI_TEXT_LICENSE_TITLE "ئىجازەت كېلىشىمى" + ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA)نى قاچىلىشتىن بۇرۇن ئىجازەت تۈرلىرىنى كۆرۈپ چىقىڭ ." + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "$(^NameDA)نى قاچىلىش ئۈچۈن،كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،قوشۇلىمەن نى بېسىپ داۋاملاشتۇرۇڭ ." + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "$(^NameDA)نى قاچىلاش ئۈچۈن كېلىشىمگە قوشۇلىشىڭىز كېرەك كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتىكىنى بېسىڭ. $_CLICK" + ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "$(^NameDA)نى قاچىلىش ئۈچۈن،كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،بىرىنجى تاللاشنى تاللاڭ. $_CLICK" +!endif + +!ifdef MUI_UNLICENSEPAGE + ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "ئىجازەت كېلىشىمى" + ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE " $(^NameDA)نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىم تۈرلىرىنى كۆرۈپ چىقىڭ ." + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن، كېلىشىمگە قوشۇلىشىڭىز كېرەك .كېلىشىم تۈرلىرىگە قوشۇلسىڭىز, قوشۇلىمەن نى بېسىپ داۋاملاشتۇرۇڭ ." + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "$(^NameDA) نى ئۆچۈرۈش ئۈچۈن كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك .قوشۇلسىڭىز, تاللاش كاتەكچىسىنى چېكىڭ. $_CLICK" + ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،بىرىنجى تاللاشنى تاللاڭ . $_CLICK" +!endif + +!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE + ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "كېلىشىمنىڭ قالغان قىسمىنى كۆرۈش ئۈچۈن Page Down نى بېسىڭ ." +!endif + +!ifdef MUI_COMPONENTSPAGE + ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "بۆلەك تاللاش" + ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "$(^NameDA) نى قاچىلاش ئۈچۈن ،ئېھتىياجىلىق ئىقتىدارلارنى تاللاڭ" +!endif + +!ifdef MUI_UNCOMPONENTSPAGE + ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "بۆلەك تاللاش" + ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "$(^NameDA) نى ئۆچۈرۈش ئۈچۈن ،ئېھتىياجىلىق ئىقتىدارلارنى تاللاڭ." +!endif + +!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "چۈشەندۈرۈش" + !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "بۆلەكنىڭ چۈشەندۈرۈشىنى كۆرۈش ئۈچۈن،مائوسنى بۆلەكنىڭ ئۈستىگە ئاپىرىڭ." + !else + ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "بۆلەكنىڭ چۈشەندۈرۈشىنى كۆرۈش ئۈچۈن،مائوسنى بۆلەكنىڭ ئۈستىگە ئاپىرىڭ." + !endif +!endif + +!ifdef MUI_DIRECTORYPAGE + ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "قاچىلايدىغان ئورۇننى تاللاڭ" + ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA)نى قاچىلاش ئۈچۈن قاچىلايدىغان قىسقۇچنى تاللاڭ." +!endif + +!ifdef MUI_UNDIRECTORYPAGE + ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE " ئۆچۈرۈدىغان ئورۇننى تاللاڭ" + ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن ئۆچۈرۈدىغان قىسقۇچنى تاللاڭ." +!endif + +!ifdef MUI_INSTFILESPAGE + ${LangFileString} MUI_TEXT_INSTALLING_TITLE "قاچىلاۋاتىدۇ" + ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)نى قاچىلاۋاتىدۇ...تەخىر قىلىڭ ." + ${LangFileString} MUI_TEXT_FINISH_TITLE "قاچىلاش تاماملاندى" + ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "مۇۋەپپىقىيەتلىك قاچىلاندى." + ${LangFileString} MUI_TEXT_ABORT_TITLE "قاچىليالمىدى" + ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "قاچىلاش مەغلۇپ بولدى." +!endif + +!ifdef MUI_UNINSTFILESPAGE + ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ئۆچۈرۈش" + ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE " $(^NameDA)نى ئۆچۈرۈۋاتىدۇ... تەخىر قىلىڭ ." + ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ئۆچۈرۈش تاماملاندى" + ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "مۇۋەپپىقىيەتلىك ئۆچۈرۈلدى." + ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ئۆچۈرەلمىدى" + ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ئۆچۈرۈش مەغلۇپ بولدى." +!endif + +!ifdef MUI_FINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "قاچىلاش يېتەكچىسى$(^NameDA)نى قاچىلاشنى تاماملىدى " + ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)كومپيۇتېرىڭىزغا قاچىلاندى .$\r$\n$\r$\nتامام نى بېسىپ قاچىلاش يېتەكچىسىنى يېپىڭ." + ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT " $(^NameDA) نى قاچىلاشنى تاماملاش ئۈچۈن،كومپيۇتېرىڭىزنى قايتا قوزغىتىڭ كومپيۇتېرىڭىزنى قايتا قوزغىتامسىز؟ ." +!endif + +!ifdef MUI_UNFINISHPAGE + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ئۆچۈرۈش يېتەكچىسى$(^NameDA)نى ئۆچۈرۈشنى تاماملىدى " + ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA)كومپيۇتېرىڭىزدىن ئۆچۈرۈلدى .$\r$\n$\r$\nئۆچۈرۈش يېتەكچىسىنى يېپىش ئۈچۈن تامام نى بېسىڭ." + ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT " $(^NameDA) نى ئۆچۈرۈشنى تاماملاش ئۈچۈن،كومپيۇتېرىڭىزنى قايتا قوزغىتىڭ كومپيۇتېرىڭىزنى قايتا قوزغىتامسىز؟ " +!endif + +!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE + ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ھازىرلا قايتا قوزغۇتۇش" + ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "كېيىنرەك كومپيۇتېرنى قولدا قايتا قوزغىتاي" + ${LangFileString} MUI_TEXT_FINISH_RUN "&$(^NameDA)نى ئىجرا قىلىش " + ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&ياردەمنى كۆرۈش" + ${LangFileString} MUI_BUTTONTEXT_FINISH "&تامام" +!endif + +!ifdef MUI_STARTMENUPAGE + ${LangFileString} MUI_TEXT_STARTMENU_TITLE "باشلاش تىزىملىكى قىسقۇچى تاللاش" + ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "$(^NameDA)تېزكۆرگۈچى ئۈچۈن باشلاش تىزىملىكى قىسقۇچى تاللاش ." + ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "پروگراممىنىڭ تېزكۆرگۈچىنى ياسايدىغان باشلاش تىزىملىك قىسقۇچىنى تاللاڭ ھەم يېڭى قىسقۇچقا ئىسىم كىرگۈزۈڭ." + ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "تېزكۆرگۈچ ياسىمىسۇن" +!endif + +!ifdef MUI_UNCONFIRMPAGE + ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA)نى ئۆچۈرۈش " + ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA)نى كومپيۇتېردىن ئۆچۈرۈش ." +!endif + +!ifdef MUI_ABORTWARNING + ${LangFileString} MUI_TEXT_ABORTWARNING " $(^NameDA)نى قاچىلاشتىن چېكىنەمسىز؟" +!endif + +!ifdef MUI_UNABORTWARNING + ${LangFileString} MUI_UNTEXT_ABORTWARNING " $(^NameDA)نى ئۆچۈرۈشتىن چېكىنەمسىز؟" +!endif + +!ifdef MULTIUSER_INSTALLMODEPAGE + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "ئىشلەتكۈچى تاللاش" + ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE " $(^NameDA) نى قاچىلاش ئۈچۈن ئىشلەتكۈچىلەرنى تاللاڭ." + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP " $(^NameDA) نى ئۆزى ئۈچۈنلا قاچىلاش ياكى بارلىق ئىشلەتكۈچىلەر ئۈچۈن قاچىلاشنى تاللاش. $(^ClickNext)" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "بارلىق ئىشلەتكۈچىلەرگە قاچىلاش" + ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "ماڭىلا قاچىلاش" +!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf new file mode 100644 index 000000000..e5c40ce72 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh new file mode 100644 index 000000000..79beed70a Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf new file mode 100644 index 000000000..79609e1c4 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh new file mode 100644 index 000000000..84a8f7def Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf new file mode 100644 index 000000000..d5bb8e8b2 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh new file mode 100644 index 000000000..7c0850adf Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf new file mode 100644 index 000000000..d28bf3221 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh new file mode 100644 index 000000000..8af9f1bc5 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf new file mode 100644 index 000000000..c22f1af84 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh new file mode 100644 index 000000000..a2782cff3 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf new file mode 100644 index 000000000..d2de2f204 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh new file mode 100644 index 000000000..113d7d138 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh new file mode 100644 index 000000000..ddde664e8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh new file mode 100644 index 000000000..2fba6a0d8 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh new file mode 100644 index 000000000..aa7fc2a70 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh new file mode 100644 index 000000000..e571bd028 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh new file mode 100644 index 000000000..76b033f41 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh new file mode 100644 index 000000000..eeeeb5714 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh new file mode 100644 index 000000000..dafe19494 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh new file mode 100644 index 000000000..1f6250d54 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh new file mode 100644 index 000000000..00796c16b Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh new file mode 100644 index 000000000..2979cc9ca Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh new file mode 100644 index 000000000..b1403b205 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh new file mode 100644 index 000000000..9b01ed378 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh new file mode 100644 index 000000000..b80beb92f Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh new file mode 100644 index 000000000..e58d6d214 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini new file mode 100644 index 000000000..9dba15455 Binary files /dev/null and b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini differ