-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:
-
-
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
-
-
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 http://username:password@nsis.sourceforge.net.
-
/NOPROXY -
-Disables proxy settings for this connection (if any)
-
/NOCANCEL -
-Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling, removes sysmenu)
-
/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 "". 127 chars maximum.
-
/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.
-
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.
-
-
head DLL Function
-
-The same as get, but requests http headers only. Writes raw headers to file.
-
-
Return value and parameters (if applicable) are the same as for previous entry point.
-
-
Examples
-
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:
- ...
-
-
Credits
-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
deleted file mode 100644
index b322f421b..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi
+++ /dev/null
@@ -1,31 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 5e15776f1..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi
+++ /dev/null
@@ -1,31 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 2ad7ff702..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi
+++ /dev/null
@@ -1,29 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 1eb77c2a0..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi
+++ /dev/null
@@ -1,31 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index e33b0d8ed..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php
+++ /dev/null
@@ -1,7 +0,0 @@
- $value) {
- echo "$header: $value \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
deleted file mode 100644
index ccf7c58b3..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi
+++ /dev/null
@@ -1,26 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index fcea2778b..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp
+++ /dev/null
@@ -1,1622 +0,0 @@
-/*******************************************************
-* 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
-#include
-#include
-#include
-#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>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 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
deleted file mode 100644
index 2a4d46410..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp
+++ /dev/null
@@ -1,175 +0,0 @@
-# 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
deleted file mode 100644
index 98a25c5b2..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-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
deleted file mode 100644
index 6a29a56f3..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc
+++ /dev/null
@@ -1,170 +0,0 @@
-//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
deleted file mode 100644
index 845a18d64..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi
+++ /dev/null
@@ -1,80 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 9dcf0d2bb..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi
+++ /dev/null
@@ -1,30 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index f6a894964..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-";
-echo "post.passwd=".$_POST['passwd']." ";
-echo "get.lg=".$_GET['lg']." ";
-echo "get.pw=".$_GET['pw']." ";
-?>
-
-
-
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
deleted file mode 100644
index 7bb7b7704..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi
+++ /dev/null
@@ -1,30 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 07ab4fbf2..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php
+++ /dev/null
@@ -1,10 +0,0 @@
- $value) {
- echo "$header: $value \n";
-}
-echo "new ";
-foreach ($_FILES as $key => $value) echo $key . "<>" . $value . " \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
deleted file mode 100644
index 046d60533..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-Registration form for post.php test
-
-
-This form sends POST request to server. It was interesting to compare server echo
-reply (by included post.php) for this form and InetLoad plug-in - in my
-tests server did not see any difference between them :)
-
-
-
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi
deleted file mode 100644
index 95cc8dda4..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi
+++ /dev/null
@@ -1,30 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 7bb2bf526..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php
+++ /dev/null
@@ -1,19 +0,0 @@
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi
deleted file mode 100644
index 52e032663..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi
+++ /dev/null
@@ -1,64 +0,0 @@
-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
deleted file mode 100644
index cd2943420..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi
+++ /dev/null
@@ -1,30 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index afe455283..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php
+++ /dev/null
@@ -1,6 +0,0 @@
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h
deleted file mode 100644
index d7fc835a6..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h
+++ /dev/null
@@ -1,47 +0,0 @@
-//{{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
deleted file mode 100644
index 7ff5688af..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi
+++ /dev/null
@@ -1,31 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index 053a8155e..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi
+++ /dev/null
@@ -1,32 +0,0 @@
-
-;--------------------------------
-; 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
deleted file mode 100644
index f7fccb58e..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt
+++ /dev/null
@@ -1,169 +0,0 @@
-{{PageAuthor|Takhir}}
-
-== Links ==
-
-Download:
-Inetc.zip
-
-[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 ===
-
-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]
-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 http://username:password@nsis.sourceforge.net.
-
-;/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 ===
-
-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]
-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 ===
-
-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]
-Return value and parameters (if applicable) are the same as for previous entry point.
-
-== Examples ==
-
-
-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:
- ...
-
-
-
-;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
-
-
-; Following attribute also can restore installer Window
-; BGGradient 000000 000080 FFFFFF
-
-== 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
deleted file mode 100644
index 1ec535899..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf and /dev/null 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
deleted file mode 100644
index 154afb60a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh and /dev/null 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
deleted file mode 100644
index a27dbd8d6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf and /dev/null 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
deleted file mode 100644
index faf9224e7..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh and /dev/null 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
deleted file mode 100644
index e8ba22303..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf and /dev/null 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
deleted file mode 100644
index 1f6f3b51c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh and /dev/null 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
deleted file mode 100644
index 182ce50a9..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf and /dev/null 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
deleted file mode 100644
index 67884c57a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh and /dev/null 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
deleted file mode 100644
index 2f46f500e..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf and /dev/null 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
deleted file mode 100644
index bf5939bcd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh and /dev/null 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
deleted file mode 100644
index 3730e75a5..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf and /dev/null 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
deleted file mode 100644
index 57089408c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh and /dev/null 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
deleted file mode 100644
index d7d7ebb34..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf and /dev/null 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
deleted file mode 100644
index e9df25470..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh and /dev/null 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
deleted file mode 100644
index a908febc6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf and /dev/null 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
deleted file mode 100644
index e80cb1b94..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh and /dev/null 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
deleted file mode 100644
index de8fe4ad3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf and /dev/null 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
deleted file mode 100644
index d8d9fdbc8..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh and /dev/null 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
deleted file mode 100644
index 8800ef074..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf and /dev/null 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
deleted file mode 100644
index 931cc43ce..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh and /dev/null 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
deleted file mode 100644
index 8faaec4bf..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf and /dev/null 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
deleted file mode 100644
index 038825ddb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh and /dev/null 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
deleted file mode 100644
index 97a7f2b14..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf and /dev/null 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
deleted file mode 100644
index 0670d63b6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh and /dev/null 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
deleted file mode 100644
index 2a337ea73..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf and /dev/null 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
deleted file mode 100644
index ae1f19b10..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh and /dev/null 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
deleted file mode 100644
index 943749e5d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf and /dev/null 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
deleted file mode 100644
index ae4ebd45f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh and /dev/null 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
deleted file mode 100644
index a556efa3a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf and /dev/null 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
deleted file mode 100644
index b3fb5c232..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh and /dev/null 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
deleted file mode 100644
index 70b9cd88c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf and /dev/null 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
deleted file mode 100644
index bf8ae0ee3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh and /dev/null 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
deleted file mode 100644
index 09cc0b80c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf and /dev/null 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
deleted file mode 100644
index cc8cdc911..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh and /dev/null 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
deleted file mode 100644
index 61d26c34c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf and /dev/null 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
deleted file mode 100644
index 771eb24ab..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh and /dev/null 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
deleted file mode 100644
index 2636fce9d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf and /dev/null 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
deleted file mode 100644
index c01b319f7..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh and /dev/null 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
deleted file mode 100644
index 5317a1c8b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf and /dev/null 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
deleted file mode 100644
index b75660f6c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh and /dev/null 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
deleted file mode 100644
index 0f62cf696..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf and /dev/null 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
deleted file mode 100644
index 44f6b4e64..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh and /dev/null 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
deleted file mode 100644
index 8d64dd3c1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf and /dev/null 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
deleted file mode 100644
index 2c003fbde..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh and /dev/null 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
deleted file mode 100644
index 613491767..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf and /dev/null 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
deleted file mode 100644
index 81b6b2afc..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh and /dev/null 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
deleted file mode 100644
index 456b9d878..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf and /dev/null 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
deleted file mode 100644
index ac5b8846d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh and /dev/null 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
deleted file mode 100644
index 8f49e35ad..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf and /dev/null 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
deleted file mode 100644
index 730b550be..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh and /dev/null 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
deleted file mode 100644
index 16969cb68..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf and /dev/null 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
deleted file mode 100644
index 807bc8fbe..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh and /dev/null 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
deleted file mode 100644
index a7fbcd542..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf and /dev/null 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
deleted file mode 100644
index c8b07c661..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh and /dev/null 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
deleted file mode 100644
index 22781ff24..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf and /dev/null 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
deleted file mode 100644
index b95289f81..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh and /dev/null 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
deleted file mode 100644
index 5f95e49e8..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf and /dev/null 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
deleted file mode 100644
index f68f90697..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh and /dev/null 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
deleted file mode 100644
index dde9b3191..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf and /dev/null 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
deleted file mode 100644
index e117f7fb4..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh and /dev/null 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
deleted file mode 100644
index 565d05a5d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf and /dev/null 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
deleted file mode 100644
index 5806041d4..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh and /dev/null 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
deleted file mode 100644
index f7c914238..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf and /dev/null 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
deleted file mode 100644
index 80ef89868..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh and /dev/null 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
deleted file mode 100644
index 2e18276f1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf and /dev/null 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
deleted file mode 100644
index daaba7f34..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh and /dev/null 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
deleted file mode 100644
index a89970ab7..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf and /dev/null 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
deleted file mode 100644
index fe46098eb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh and /dev/null 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
deleted file mode 100644
index 617d4af82..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf and /dev/null 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
deleted file mode 100644
index 5f7077881..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh and /dev/null 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
deleted file mode 100644
index 9b94418ba..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf and /dev/null 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
deleted file mode 100644
index d52b12c27..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh and /dev/null 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
deleted file mode 100644
index 17010c2f0..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf
+++ /dev/null
@@ -1,191 +0,0 @@
-# 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
deleted file mode 100644
index ec33eead1..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh
+++ /dev/null
@@ -1,129 +0,0 @@
-;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
deleted file mode 100644
index 6160fd837..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf and /dev/null 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
deleted file mode 100644
index 615227f7b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh and /dev/null 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
deleted file mode 100644
index 5f244548d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf and /dev/null 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
deleted file mode 100644
index c5d33d2be..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh and /dev/null 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
deleted file mode 100644
index 03a5baeff..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf and /dev/null 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
deleted file mode 100644
index 273331eae..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh and /dev/null 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
deleted file mode 100644
index bc3dd775f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf and /dev/null 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
deleted file mode 100644
index 78880deac..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh and /dev/null 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
deleted file mode 100644
index 20c879bc3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf and /dev/null 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
deleted file mode 100644
index c18a407ed..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh and /dev/null 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
deleted file mode 100644
index 69bd7d890..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf and /dev/null 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
deleted file mode 100644
index f1d4fae8d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh and /dev/null 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
deleted file mode 100644
index dd73961a1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf and /dev/null 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
deleted file mode 100644
index d84573eda..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh and /dev/null 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
deleted file mode 100644
index 8072d5454..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf and /dev/null 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
deleted file mode 100644
index feaea4134..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh and /dev/null 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
deleted file mode 100644
index c9f7fe38f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf and /dev/null 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
deleted file mode 100644
index b9a6d4938..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh and /dev/null 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
deleted file mode 100644
index eef204b46..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf and /dev/null 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
deleted file mode 100644
index 4ae470a68..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh and /dev/null 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
deleted file mode 100644
index 4536a8c8a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf and /dev/null 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
deleted file mode 100644
index dd6f8fb6c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh and /dev/null 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
deleted file mode 100644
index 884e2b7d6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf and /dev/null 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
deleted file mode 100644
index 4cabf6b90..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh and /dev/null 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
deleted file mode 100644
index 491629bc6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf and /dev/null 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
deleted file mode 100644
index d92e470e5..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh and /dev/null 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
deleted file mode 100644
index 082fb1b4e..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf and /dev/null 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
deleted file mode 100644
index 2974313fa..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh and /dev/null 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
deleted file mode 100644
index 505844b70..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf and /dev/null 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
deleted file mode 100644
index 01d6183f9..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh and /dev/null 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
deleted file mode 100644
index b69ebe91f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf and /dev/null 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
deleted file mode 100644
index 9898022f1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh and /dev/null 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
deleted file mode 100644
index 253fa5995..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf and /dev/null 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
deleted file mode 100644
index df536bb51..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh and /dev/null 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
deleted file mode 100644
index 32404fd08..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf and /dev/null 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
deleted file mode 100644
index aa3d93edb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh and /dev/null 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
deleted file mode 100644
index 5ef26d210..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf and /dev/null 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
deleted file mode 100644
index 66b443176..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh and /dev/null 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
deleted file mode 100644
index ad66c887b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf and /dev/null 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
deleted file mode 100644
index 59a5e295d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh and /dev/null 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
deleted file mode 100644
index 344bb35fd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf and /dev/null 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
deleted file mode 100644
index 68d1dcc00..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh and /dev/null 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
deleted file mode 100644
index 8020787ae..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf and /dev/null 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
deleted file mode 100644
index eac523832..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh and /dev/null 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
deleted file mode 100644
index ba985650c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf and /dev/null 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
deleted file mode 100644
index 52db6a368..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh and /dev/null 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
deleted file mode 100644
index f78148893..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf and /dev/null 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
deleted file mode 100644
index 15281a0d3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh and /dev/null 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
deleted file mode 100644
index 6134f11fd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf and /dev/null 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
deleted file mode 100644
index 4a4b59010..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh and /dev/null 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
deleted file mode 100644
index 143ba7a9d..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf
+++ /dev/null
@@ -1,191 +0,0 @@
-# Header, Ulah diropa
-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
-: Rngs
-# ^UnComponentsSubCaption
-: Pilihan Miceun
-# ^UnDirSubCaption
-: Map Miceun
-# ^ConfirmSubCaption
-: Muguhkeun
-# ^UninstallingSubCaption
-: Miceun instalasi
-# ^UnCompletedSubCaption
-: Rngs
-# ^BackBtn
-< Sam&mhna
-# ^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
-Rngs
-# ^LicenseText
-Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, klik Sapuk.
-# ^LicenseTextCB
-Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. $_CLICK
-# ^LicenseTextRB
-Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK
-# ^UnLicenseText
-Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, klik Sapuk.
-# ^UnLicenseTextCB
-Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. $_CLICK
-# ^UnLicenseTextRB
-Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK
-# ^Custom
-Reka
-# ^ComponentsText
-Contrng dina komponn anu rk dipasang atawa piceun contrngna lamun teu pati perlu. $_CLICK
-# ^ComponentsSubText1
-Pilih tipeu instalasi:
-# ^ComponentsSubText2_NoInstTypes
-Pilih komponn-komponn anu bakal dipasang:
-# ^ComponentsSubText2
-Atawa, pilih ieu komponn anu bakal dipasang:
-# ^UnComponentsText
-Contrng dina komponn anu rk dipiceun. $_CLICK
-# ^UnComponentsSubText1
-Pilih tipeu miceun:
-# ^UnComponentsSubText2_NoInstTypes
-Pilih komponn-komponn anu rk dipiceun:
-# ^UnComponentsSubText2
-Atawa, pilih ieu komponn anu rk dipiceun:
-# ^DirText
-$(^NameDA) bakal dipasang dina ieu map. Pikeun milih map sjn, 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 sjn, 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
-Pross 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 gmbolan data! Aplikasi Pamasang ruksak
-# ^ErrorRegistering
-Kasalahan nalika ngadaftarkeun modul DLL
-# ^ExecShell
-"ExecShell: "
-# ^Exec
-"Ngajalankeun: "
-# ^Extract
-"Muka gmbolan: "
-# ^ErrorWriting
-"Gmbolan: 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 pross 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
deleted file mode 100644
index 2397ec9ad..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh
+++ /dev/null
@@ -1,129 +0,0 @@
-;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 "Baga, ieu th Apingan Masang $(^NameDA)"
- ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Apingan Masang bakal ngaping anjeun dina pross masangkeun $(^NameDA).$\r$\n$\r$\nAlusna mah tutupkeun heula program sjn anu ayeuna keur dijalankeun sammh 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 "Baga, ieu th Apingan Miceun $(^NameDA)"
- ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Apingan Miceun bakal ngaping anjeun dina pross miceun $(^NameDA).$\r$\n$\r$\nSamemeh ngamimitian miceun instalasina, anjeun kudu yakin heula yn $(^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 sammh masangkeun $(^NameDA)."
- ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakabh anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA)."
- ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA). $_CLICK"
- ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakabh 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 sammh miceun $(^NameDA)."
- ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakabh anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa miceun $(^NameDA)."
- ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. Anjeun kudu satuju sangkan bisa miceun $(^NameDA). $_CLICK"
- ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakabh 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 "Penct Page Down pikeun ningali tuluyanana."
-!endif
-
-!ifdef MUI_COMPONENTSPAGE
- ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Milih Komponn"
- ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu rk dipasang."
- ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Wangenan"
-!endif
-
-!ifdef MUI_UNCOMPONENTSPAGE
- ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Milih Komponn"
- ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu rk 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 "Pross Masangkeun Rngs"
- ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "$(^NameDA) rngs dipasangkeun."
- ${LangFileString} MUI_TEXT_ABORT_TITLE "Pross Masang Dibolaykeun"
- ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Masangkeun rngs 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 "Pross Miceun Rngs"
- ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "$(^NameDA) rngs dipiceun."
- ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Pross Miceun Dibolaykeun"
- ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Miceun rngs tapi can sampurna."
-!endif
-
-!ifdef MUI_FINISHPAGE
- ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Ngarngskeun Apingan Masang $(^NameDA)"
- ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipasangkeun kana komputer anjeun.$\r$\n$\r$\nKlik Rngs pikeun nutup Apingan Masang."
- ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngarngskeun pross instalasi $(^NameDA). Mmimitian-deui ayeuna?"
-!endif
-
-!ifdef MUI_UNFINISHPAGE
- ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Ngarngskeun Apingan Miceun $(^NameDA)"
- ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipiceun tina komputer anjeun.$\r$\n$\r$\nKlik Rngs pikeun nutup Apingan Miceun."
- ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngarngskeun pross 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 "&Rngs"
-!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, rk kaluar tina pross masangkeun $(^Name)?"
-!endif
-
-!ifdef MUI_UNABORTWARNING
- ${LangFileString} MUI_UNTEXT_ABORTWARNING "Bener, rk kaluar tina pross miceun $(^Name)?"
-!endif
-
-!ifdef MULTIUSER_INSTALLMODEPAGE
- ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Milih Pamak"
- ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Milih pamak anu rk dipasangkeun $(^NameDA)."
- ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Pilih tujuan masangkeun $(^NameDA) keur soranganeun atawa keur kabh pamak komputer ieu. $(^ClickNext)"
- ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Pasangkeun keur kabh 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
deleted file mode 100644
index 4a498ed90..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf and /dev/null 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
deleted file mode 100644
index 0bb6cbceb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh and /dev/null 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
deleted file mode 100644
index 20e1b4ee0..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf and /dev/null 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
deleted file mode 100644
index f1525fc8d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh and /dev/null 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
deleted file mode 100644
index d1dce0540..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf and /dev/null 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
deleted file mode 100644
index b47ad88e7..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh and /dev/null 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
deleted file mode 100644
index 34ec33370..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf and /dev/null 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
deleted file mode 100644
index 29e74dce9..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh and /dev/null 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
deleted file mode 100644
index 90700348b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf and /dev/null 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
deleted file mode 100644
index b46dd6fd5..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh and /dev/null 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
deleted file mode 100644
index bd1968b4b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf and /dev/null 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
deleted file mode 100644
index 2f5586df2..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh and /dev/null 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
deleted file mode 100644
index 5d2a6bc2c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf and /dev/null 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
deleted file mode 100644
index 8aeea8f4e..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh and /dev/null 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
deleted file mode 100644
index e556221fd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf and /dev/null 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
deleted file mode 100644
index 7111d5193..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh and /dev/null 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
deleted file mode 100644
index 6d0aed542..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf
+++ /dev/null
@@ -1,191 +0,0 @@
-# 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
deleted file mode 100644
index 76bf6a615..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh
+++ /dev/null
@@ -1,129 +0,0 @@
-;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
deleted file mode 100644
index e5c40ce72..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf and /dev/null 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
deleted file mode 100644
index 79beed70a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh and /dev/null 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
deleted file mode 100644
index 79609e1c4..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf and /dev/null 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
deleted file mode 100644
index 84a8f7def..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh and /dev/null 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
deleted file mode 100644
index d5bb8e8b2..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf and /dev/null 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
deleted file mode 100644
index 7c0850adf..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh and /dev/null 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
deleted file mode 100644
index d28bf3221..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf and /dev/null 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
deleted file mode 100644
index 8af9f1bc5..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh and /dev/null 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
deleted file mode 100644
index c22f1af84..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf and /dev/null 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
deleted file mode 100644
index a2782cff3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh and /dev/null 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
deleted file mode 100644
index d2de2f204..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf and /dev/null 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
deleted file mode 100644
index 113d7d138..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh and /dev/null 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
deleted file mode 100644
index ddde664e8..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh and /dev/null 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
deleted file mode 100644
index 2fba6a0d8..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh and /dev/null 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
deleted file mode 100644
index aa7fc2a70..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh and /dev/null 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
deleted file mode 100644
index e571bd028..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh and /dev/null 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
deleted file mode 100644
index 76b033f41..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh and /dev/null 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
deleted file mode 100644
index eeeeb5714..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh and /dev/null 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
deleted file mode 100644
index dafe19494..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh and /dev/null 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
deleted file mode 100644
index 1f6250d54..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh and /dev/null 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
deleted file mode 100644
index 00796c16b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh and /dev/null 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
deleted file mode 100644
index 2979cc9ca..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh and /dev/null 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
deleted file mode 100644
index b1403b205..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh and /dev/null 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
deleted file mode 100644
index 9b01ed378..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh and /dev/null 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
deleted file mode 100644
index b80beb92f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh and /dev/null 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
deleted file mode 100644
index e58d6d214..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh and /dev/null 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
deleted file mode 100644
index 9dba15455..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h
deleted file mode 100644
index 7418b873c..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * apih
- *
- * This file is a part of NSIS.
- *
- * Copyright (C) 1999-2009 Nullsoft and Contributors
- *
- * Licensed under the zlib/libpng license (the "License");
- * you may not use this file except in compliance with the License.
- *
- * Licence details can be found in the file COPYING.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty.
- */
-
-#ifndef _NSIS_EXEHEAD_API_H_
-#define _NSIS_EXEHEAD_API_H_
-
-// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
-// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
-// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
-
-#define NSISPIAPIVER_1_0 0x00010000
-#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
-
-// NSIS Plug-In Callback Messages
-enum NSPIM
-{
- NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup
- NSPIM_GUIUNLOAD, // Called after .onGUIEnd
-};
-
-// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
-// Return NULL for unknown messages
-// Should always be __cdecl for future expansion possibilities
-typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
-
-// extra_parameters data structures containing other interesting stuff
-// but the stack, variables and HWND passed on to plug-ins.
-typedef struct
-{
- int autoclose;
- int all_user_var;
- int exec_error;
- int abort;
- int exec_reboot; // NSIS_SUPPORT_REBOOT
- int reboot_called; // NSIS_SUPPORT_REBOOT
- int XXX_cur_insttype; // depreacted
- int plugin_api_version; // see NSISPIAPIVER_CURR
- // used to be XXX_insttype_changed
- int silent; // NSIS_CONFIG_SILENT_SUPPORT
- int instdir_error;
- int rtl;
- int errlvl;
- int alter_reg_view;
- int status_update;
-} exec_flags_t;
-
-#ifndef NSISCALL
-# define NSISCALL __stdcall
-#endif
-
-typedef struct {
- exec_flags_t *exec_flags;
- int (NSISCALL *ExecuteCodeSegment)(int, HWND);
- void (NSISCALL *validate_filename)(char *);
- int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
-} extra_parameters;
-
-// Definitions for page showing plug-ins
-// See Ui.c to understand better how they're used
-
-// sent to the outer window to tell it to go to the next inner window
-#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
-
-// custom pages should send this message to let NSIS know they're ready
-#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
-
-// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
-#define NOTIFY_BYE_BYE 'x'
-
-#endif /* _PLUGIN_H_ */
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h
deleted file mode 100644
index 63b8b8467..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef ___NSIS_PLUGIN__H___
-#define ___NSIS_PLUGIN__H___
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "api.h"
-
-#ifndef NSISCALL
-# define NSISCALL __stdcall
-#endif
-
-#define EXDLL_INIT() { \
- g_stringsize=string_size; \
- g_stacktop=stacktop; \
- g_variables=variables; }
-
-typedef struct _stack_t {
- struct _stack_t *next;
- char text[1]; // this should be the length of string_size
-} stack_t;
-
-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
-};
-
-extern unsigned int g_stringsize;
-extern stack_t **g_stacktop;
-extern char *g_variables;
-
-int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack
-int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize
-int NSISCALL popint(); // pops an integer
-int NSISCALL popint_or(); // with support for or'ing (2|4|8)
-int NSISCALL myatoi(const char *s); // converts a string to an integer
-unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only
-int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8)
-void NSISCALL pushstring(const char *str);
-void NSISCALL pushint(int value);
-char * NSISCALL getuservariable(const int varnum);
-void NSISCALL setuservariable(const int varnum, const char *var);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif//!___NSIS_PLUGIN__H___
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib
deleted file mode 100644
index ea64b80d8..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h
deleted file mode 100644
index bab952224..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * apih
- *
- * This file is a part of NSIS.
- *
- * Copyright (C) 1999-2009 Nullsoft and Contributors
- *
- * Licensed under the zlib/libpng license (the "License");
- * you may not use this file except in compliance with the License.
- *
- * Licence details can be found in the file COPYING.
- *
- * This software is provided 'as-is', without any express or implied
- * warranty.
- */
-
-#ifndef _NSIS_EXEHEAD_API_H_
-#define _NSIS_EXEHEAD_API_H_
-
-// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version
-// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x))
-// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {}
-
-#define NSISPIAPIVER_1_0 0x00010000
-#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0
-
-// NSIS Plug-In Callback Messages
-enum NSPIM
-{
- NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup
- NSPIM_GUIUNLOAD, // Called after .onGUIEnd
-};
-
-// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback()
-// Return NULL for unknown messages
-// Should always be __cdecl for future expansion possibilities
-typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM);
-
-// extra_parameters data structures containing other interesting stuff
-// but the stack, variables and HWND passed on to plug-ins.
-typedef struct
-{
- int autoclose;
- int all_user_var;
- int exec_error;
- int abort;
- int exec_reboot; // NSIS_SUPPORT_REBOOT
- int reboot_called; // NSIS_SUPPORT_REBOOT
- int XXX_cur_insttype; // depreacted
- int plugin_api_version; // see NSISPIAPIVER_CURR
- // used to be XXX_insttype_changed
- int silent; // NSIS_CONFIG_SILENT_SUPPORT
- int instdir_error;
- int rtl;
- int errlvl;
- int alter_reg_view;
- int status_update;
-} exec_flags_t;
-
-#ifndef NSISCALL
-# define NSISCALL __stdcall
-#endif
-
-typedef struct {
- exec_flags_t *exec_flags;
- int (NSISCALL *ExecuteCodeSegment)(int, HWND);
- void (NSISCALL *validate_filename)(TCHAR *);
- int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors
-} extra_parameters;
-
-// Definitions for page showing plug-ins
-// See Ui.c to understand better how they're used
-
-// sent to the outer window to tell it to go to the next inner window
-#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8)
-
-// custom pages should send this message to let NSIS know they're ready
-#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd)
-
-// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning
-#define NOTIFY_BYE_BYE 'x'
-
-#endif /* _PLUGIN_H_ */
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h
deleted file mode 100644
index 9532d4e4c..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * nsis_tchar.h
- *
- * This file is a part of NSIS.
- *
- * Copyright (C) 1999-2007 Nullsoft and Contributors
- *
- * This software is provided 'as-is', without any express or implied
- * warranty.
- *
- * For Unicode support by Jim Park -- 08/30/2007
- */
-
-// Jim Park: Only those we use are listed here.
-
-#pragma once
-
-#ifdef _UNICODE
-
-#ifndef _T
-#define __T(x) L ## x
-#define _T(x) __T(x)
-#define _TEXT(x) __T(x)
-#endif
-typedef wchar_t TCHAR;
-typedef wchar_t _TUCHAR;
-
-// program
-#define _tmain wmain
-#define _tWinMain wWinMain
-#define _tenviron _wenviron
-#define __targv __wargv
-
-// printfs
-#define _ftprintf fwprintf
-#define _sntprintf _snwprintf
-#define _stprintf _swprintf
-#define _tprintf wprintf
-#define _vftprintf vfwprintf
-#define _vsntprintf _vsnwprintf
-#define _vstprintf _vswprintf
-
-// scanfs
-#define _tscanf wscanf
-#define _stscanf swscanf
-
-// string manipulations
-#define _tcscat wcscat
-#define _tcschr wcschr
-#define _tcsclen wcslen
-#define _tcscpy wcscpy
-#define _tcsdup _wcsdup
-#define _tcslen wcslen
-#define _tcsnccpy wcsncpy
-#define _tcsncpy wcsncpy
-#define _tcsrchr wcsrchr
-#define _tcsstr wcsstr
-#define _tcstok wcstok
-
-// string comparisons
-#define _tcscmp wcscmp
-#define _tcsicmp _wcsicmp
-#define _tcsncicmp _wcsnicmp
-#define _tcsncmp wcsncmp
-#define _tcsnicmp _wcsnicmp
-
-// upper / lower
-#define _tcslwr _wcslwr
-#define _tcsupr _wcsupr
-#define _totlower towlower
-#define _totupper towupper
-
-// conversions to numbers
-#define _tcstoi64 _wcstoi64
-#define _tcstol wcstol
-#define _tcstoul wcstoul
-#define _tstof _wtof
-#define _tstoi _wtoi
-#define _tstoi64 _wtoi64
-#define _ttoi _wtoi
-#define _ttoi64 _wtoi64
-#define _ttol _wtol
-
-// conversion from numbers to strings
-#define _itot _itow
-#define _ltot _ltow
-#define _i64tot _i64tow
-#define _ui64tot _ui64tow
-
-// file manipulations
-#define _tfopen _wfopen
-#define _topen _wopen
-#define _tremove _wremove
-#define _tunlink _wunlink
-
-// reading and writing to i/o
-#define _fgettc fgetwc
-#define _fgetts fgetws
-#define _fputts fputws
-#define _gettchar getwchar
-
-// directory
-#define _tchdir _wchdir
-
-// environment
-#define _tgetenv _wgetenv
-#define _tsystem _wsystem
-
-// time
-#define _tcsftime wcsftime
-
-#else // ANSI
-
-#ifndef _T
-#define _T(x) x
-#define _TEXT(x) x
-#endif
-typedef char TCHAR;
-typedef unsigned char _TUCHAR;
-
-// program
-#define _tmain main
-#define _tWinMain WinMain
-#define _tenviron environ
-#define __targv __argv
-
-// printfs
-#define _ftprintf fprintf
-#define _sntprintf _snprintf
-#define _stprintf sprintf
-#define _tprintf printf
-#define _vftprintf vfprintf
-#define _vsntprintf _vsnprintf
-#define _vstprintf vsprintf
-
-// scanfs
-#define _tscanf scanf
-#define _stscanf sscanf
-
-// string manipulations
-#define _tcscat strcat
-#define _tcschr strchr
-#define _tcsclen strlen
-#define _tcscnlen strnlen
-#define _tcscpy strcpy
-#define _tcsdup _strdup
-#define _tcslen strlen
-#define _tcsnccpy strncpy
-#define _tcsrchr strrchr
-#define _tcsstr strstr
-#define _tcstok strtok
-
-// string comparisons
-#define _tcscmp strcmp
-#define _tcsicmp _stricmp
-#define _tcsncmp strncmp
-#define _tcsncicmp _strnicmp
-#define _tcsnicmp _strnicmp
-
-// upper / lower
-#define _tcslwr _strlwr
-#define _tcsupr _strupr
-
-#define _totupper toupper
-#define _totlower tolower
-
-// conversions to numbers
-#define _tcstol strtol
-#define _tcstoul strtoul
-#define _tstof atof
-#define _tstoi atoi
-#define _tstoi64 _atoi64
-#define _tstoi64 _atoi64
-#define _ttoi atoi
-#define _ttoi64 _atoi64
-#define _ttol atol
-
-// conversion from numbers to strings
-#define _i64tot _i64toa
-#define _itot _itoa
-#define _ltot _ltoa
-#define _ui64tot _ui64toa
-
-// file manipulations
-#define _tfopen fopen
-#define _topen _open
-#define _tremove remove
-#define _tunlink _unlink
-
-// reading and writing to i/o
-#define _fgettc fgetc
-#define _fgetts fgets
-#define _fputts fputs
-#define _gettchar getchar
-
-// directory
-#define _tchdir _chdir
-
-// environment
-#define _tgetenv getenv
-#define _tsystem system
-
-// time
-#define _tcsftime strftime
-
-#endif
-
-// is functions (the same in Unicode / ANSI)
-#define _istgraph isgraph
-#define _istascii __isascii
-
-#define __TFILE__ _T(__FILE__)
-#define __TDATE__ _T(__DATE__)
-#define __TTIME__ _T(__TIME__)
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h
deleted file mode 100644
index e762bbfc4..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h
+++ /dev/null
@@ -1,101 +0,0 @@
-#ifndef ___NSIS_PLUGIN__H___
-#define ___NSIS_PLUGIN__H___
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "api.h"
-#include "nsis_tchar.h"
-
-#ifndef NSISCALL
-# define NSISCALL __stdcall
-#endif
-
-#define EXDLL_INIT() { \
- g_stringsize=string_size; \
- g_stacktop=stacktop; \
- g_variables=variables; }
-
-typedef struct _stack_t {
- struct _stack_t *next;
- TCHAR text[1]; // this should be the length of string_size
-} stack_t;
-
-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
-};
-
-extern unsigned int g_stringsize;
-extern stack_t **g_stacktop;
-extern TCHAR *g_variables;
-
-int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack
-int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize
-int NSISCALL popint(); // pops an integer
-int NSISCALL popint_or(); // with support for or'ing (2|4|8)
-int NSISCALL myatoi(const TCHAR *s); // converts a string to an integer
-unsigned NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only
-int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8)
-void NSISCALL pushstring(const TCHAR *str);
-void NSISCALL pushint(int value);
-TCHAR * NSISCALL getuservariable(const int varnum);
-void NSISCALL setuservariable(const int varnum, const TCHAR *var);
-
-#ifdef _UNICODE
-#define PopStringW(x) popstring(x)
-#define PushStringW(x) pushstring(x)
-#define SetUserVariableW(x,y) setuservariable(x,y)
-
-int NSISCALL PopStringA(char* ansiStr);
-void NSISCALL PushStringA(const char* ansiStr);
-void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
-void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
-void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr);
-
-#else
-// ANSI defs
-
-#define PopStringA(x) popstring(x)
-#define PushStringA(x) pushstring(x)
-#define SetUserVariableA(x,y) setuservariable(x,y)
-
-int NSISCALL PopStringW(wchar_t* wideStr);
-void NSISCALL PushStringW(wchar_t* wideStr);
-void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr);
-void NSISCALL GetUserVariableA(const int varnum, char* ansiStr);
-void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr);
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif//!___NSIS_PLUGIN__H___
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib
deleted file mode 100644
index 5a208423f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h
deleted file mode 100644
index baf8b2829..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h
+++ /dev/null
@@ -1,14 +0,0 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Visual C++ generated include file.
-// Used by selfdel.rc
-
-// Next default values for new objects
-//
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE 101
-#define _APS_NEXT_COMMAND_VALUE 40001
-#define _APS_NEXT_CONTROL_VALUE 1001
-#define _APS_NEXT_SYMED_VALUE 101
-#endif
-#endif
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c
deleted file mode 100644
index dbd88354b..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c
+++ /dev/null
@@ -1,324 +0,0 @@
-/***************************************************
-* FILE NAME: selfdel.c
-*
-* PURPOSE:
-* NSIS plug-in for self deleting uninstaller for
-* Win9x/WinNT (all versions)
-*
-* CONSIDERATIONS
-*
-* MSVC6: works with Release built only, because source
-* file must be compiled with /GZ turned OFF, but in
-* Debug builds it is always on (basically, disable
-* run-time stack checks)
-*
-* CHANGE HISTORY
-*
-* James Brown - Oct 01 2003
-* - Original http://www.catch22.net/tuts/selfdel.asp
-*
-* Takhir Bedertdinov - Jan 21 2006
-* - Converted to NSIS plug-in, rmdir implementation, MSVCRT
-* dependencies removed
-*
-* Stuart Welch - Jul 17 2011
-* - Fixed for x64 by specifying full path to explorer.exe
-* - Ensures WOW64 file system redirection is enabled
-* - Reduced deletion retry to 500ms
-* - Built with VS2010
-* - Added Unicode build
-* - Added version information resource
-* - Calls MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT on failure
-*
-* Stuart Welch - Aug 10 2011
-* - Added /REBOOT
-*
-**************************************************/
-
-#define WINVER 0x0400
-#define _WIN32_WINNT 0x0400
-#include
-
-#ifdef UNICODE
-#include "nsis_unicode\pluginapi.h"
-#else
-#include "nsis_ansi\pluginapi.h"
-#endif
-
-#ifdef MoveFileEx
-#undef MoveFileEx
-#endif
-
-#ifndef EWX_FORCEIFHUNG
-#define EWX_FORCEIFHUNG 0x00000010
-#endif
-
-#pragma pack(push, 1)
-
-#define CODESIZE 0x200
-#define SWITCH_RMDIR TEXT("/RMDIR")
-#define SWITCH_REBOOT TEXT("/REBOOT")
-
-//
-// Structure to inject into remote process. Contains
-// function pointers and code to execute.
-//
-typedef struct _SELFDEL
-{
- struct _SELFDEL *Arg0; // pointer to self
-
- BYTE opCodes[CODESIZE]; // code
-
- HANDLE hParent; // parent process handle
-
- FARPROC fnWaitForSingleObject;
- FARPROC fnCloseHandle;
- FARPROC fnDeleteFile;
- FARPROC fnSleep;
- FARPROC fnExitProcess;
- FARPROC fnRemoveDirectory;
- FARPROC fnGetLastError;
- FARPROC fnExitWindowsEx;
-
- TCHAR szFileName[MAX_PATH]; // file to delete
- BOOL fRemDir;
- BOOL fReboot;
-
-} SELFDEL;
-
-#pragma pack(pop)
-
-#define NSISFUNC(name) void __declspec(dllexport) name(HWND hWndParent, int string_size, TCHAR* variables, stack_t** stacktop, extra_parameters* extra)
-#define DLL_INIT() EXDLL_INIT();
-
-typedef BOOLEAN (WINAPI* PWow64EnableWow64FsRedirection)(BOOLEAN Wow64FsEnableRedirection);
-typedef BOOL (WINAPI* PMoveFileEx)(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags);
-
-#ifdef _DEBUG
-#define FUNC_ADDR(func) (PVOID)(*(DWORD *)((BYTE *)func + 1) + (DWORD)((BYTE *)func + 5))
-#else
-#define FUNC_ADDR(func) func
-#endif
-
-/*****************************************************
- * FUNCTION NAME: remote_thread()
- * PURPOSE:
- * Routine to execute in remote process
- * SPECIAL CONSIDERATIONS:
- * Takhir: I hope it still less then CODESIZE after
- * I added rmdir
- *****************************************************/
-static void remote_thread(SELFDEL *remote)
-{
- TCHAR *p = remote->szFileName, *e;
-
- // Wait for parent process to terminate
- remote->fnWaitForSingleObject(remote->hParent, INFINITE);
- remote->fnCloseHandle(remote->hParent);
-
- // Try to delete the executable file
- while(!remote->fnDeleteFile(remote->szFileName))
- {
- // Failed - try again in a bit
- remote->fnSleep(500);
- }
-
- // Takhir: my rmdir add-on :)
- // Do we have at least one back slash in full path-name
- // strrchr() implementation
- if(remote->fRemDir)
- {
- while(*++p != 0)
- {
- if(*p == '\\')
- e = p;
- }
-
- *e = 0;
-
- // Root install safe, rmdir on Wins doesn't delete 'c:'
- remote->fnRemoveDirectory(remote->szFileName);
- }
-
- // Afrow UK: reboot add-on
- if (remote->fReboot)
- {
- remote->fnExitWindowsEx(EWX_REBOOT|EWX_FORCEIFHUNG, 0);
- }
-
- // Finished! Exit so that we don't execute garbage code
- remote->fnExitProcess(0);
-}
-
-/*****************************************************
- * FUNCTION NAME: my_memcpy()
- * PURPOSE:
- * msvcrt replacement
- * SPECIAL CONSIDERATIONS:
- *
- *****************************************************/
-void my_memcpy(BYTE* dst, BYTE* src, int len)
-{
- int i;
- for(i=0;i
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
-
-CFG=selfdel - 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 "selfdel.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 "selfdel.mak" CFG="selfdel - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "selfdel - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library")
-!MESSAGE "selfdel - Win32 Debug" (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)" == "selfdel - 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 "selfdel_EXPORTS" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_EXPORTS" /FD /c
-# SUBTRACT CPP /YX
-# 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 kernel32.lib user32.lib /nologo /entry:"DllMain" /dll /machine:I386 /nodefaultlib /out:"..\..\plugins\SelfDel.dll" /opt:nowin98
-# SUBTRACT LINK32 /pdb:none
-
-!ELSEIF "$(CFG)" == "selfdel - 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 "selfdel_EXPORTS" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_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 winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /machine:I386 /out:"..\..\plugins\selfdel.dll" /pdbtype:sept
-# SUBTRACT LINK32 /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "selfdel - Win32 Release"
-# Name "selfdel - Win32 Debug"
-# Begin Group "Source Files"
-
-# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
-# Begin Source File
-
-SOURCE=.\selfdel.c
-# 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"
-# End Group
-# End Target
-# End Project
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw
deleted file mode 100644
index 787b607df..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw
+++ /dev/null
@@ -1,29 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "selfdel"=".\selfdel.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc
deleted file mode 100644
index d22bc07fe..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln
deleted file mode 100644
index a8b81b637..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln
+++ /dev/null
@@ -1,23 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 11.00
-# Visual Studio 2010
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "selfdel", "selfdel.vcxproj", "{7A296601-9716-5C64-8D09-09D1C67BF8B1}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Win32 = Debug|Win32
- Release Unicode|Win32 = Release Unicode|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Debug|Win32.ActiveCfg = Debug|Win32
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Debug|Win32.Build.0 = Debug|Win32
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release Unicode|Win32.Build.0 = Release Unicode|Win32
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release|Win32.ActiveCfg = Release|Win32
- {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj
deleted file mode 100644
index 9ad1f4203..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj
+++ /dev/null
@@ -1,184 +0,0 @@
-
-
-
-
- Debug
- Win32
-
-
- Release Unicode
- Win32
-
-
- Release
- Win32
-
-
-
-
-
-
-
-
- DynamicLibrary
- false
- MultiByte
-
-
- DynamicLibrary
- false
- Unicode
-
-
- DynamicLibrary
- false
- MultiByte
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- false
- false
-
-
- false
- $(SolutionDir)..\..\Plugins\
- false
-
-
- false
- $(SolutionDir)..\..\Unicode\Plugins\
- false
-
-
-
- MultiThreadedDebugDLL
- Default
- false
- Disabled
- true
- Level3
- true
- EditAndContinue
- WIN32;_DEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions)
- EnableFastChecks
-
-
- true
- _DEBUG;%(PreprocessorDefinitions)
- .\../Debug\selfdel.tlb
- true
- Win32
-
-
- 0x0409
- _DEBUG;%(PreprocessorDefinitions)
-
-
- true
- .\../Debug\selfdel.bsc
-
-
- true
- true
- true
- nsis_ansi\pluginapi.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)
-
-
-
-
- MultiThreadedDLL
- OnlyExplicitInline
- true
- true
- MinSpace
- true
- Level3
- WIN32;NDEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions)
- false
-
-
- true
- NDEBUG;%(PreprocessorDefinitions)
- .\../debug\selfdel.tlb
- true
- Win32
-
-
- 0x0409
- NDEBUG;%(PreprocessorDefinitions)
-
-
- true
- .\../debug\selfdel.bsc
-
-
- true
- true
- true
- nsis_ansi\pluginapi.lib;kernel32.lib;user32.lib;%(AdditionalDependencies)
- DllMain
-
-
-
-
- MultiThreadedDLL
- OnlyExplicitInline
- true
- true
- MinSpace
- true
- Level3
- WIN32;NDEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions)
- false
-
-
- true
- NDEBUG;%(PreprocessorDefinitions)
- .\../debug\selfdel.tlb
- true
- Win32
-
-
- 0x0409
- NDEBUG;%(PreprocessorDefinitions)
-
-
- true
- .\../debug\selfdel.bsc
-
-
- true
- true
- true
- nsis_unicode\pluginapi.lib;kernel32.lib;user32.lib;%(AdditionalDependencies)
- DllMain
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters
deleted file mode 100644
index 34e02bd50..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe
deleted file mode 100644
index fd11f0133..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe
deleted file mode 100644
index 61dc1fb21..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe
deleted file mode 100644
index a4393b1e1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe
deleted file mode 100644
index eef8fa442..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe
deleted file mode 100644
index 3b628a679..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe
deleted file mode 100644
index 52000ad1b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe
deleted file mode 100644
index ec5b4ba6c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh
deleted file mode 100644
index 47219c370..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh
deleted file mode 100644
index adfd8dfcd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh
deleted file mode 100644
index 1ed8c2a65..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh
deleted file mode 100644
index 01f933793..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh
deleted file mode 100644
index 30307a544..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh
deleted file mode 100644
index c51b2ddde..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh
deleted file mode 100644
index 565ab7d05..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh
deleted file mode 100644
index 9ba01258b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh
deleted file mode 100644
index 295978f9c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh
deleted file mode 100644
index 79b53ac24..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh
deleted file mode 100644
index 7a76129ec..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh
deleted file mode 100644
index cf9ca4853..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh
deleted file mode 100644
index 9feb3a7c5..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh
deleted file mode 100644
index 584503c13..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh
+++ /dev/null
@@ -1,77 +0,0 @@
-/*****************************************************************
- * NewTextReplace NSIS plugin v0.4 *
- * by Gringoloco023, 2010 *
- * http://portableapps.com/node/21840 *
- * Based on: *
- * TextReplace NSIS plugin v1.5 *
- * *
- * 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) *
- *****************************************************************/
-
-
-!define ReplaceInFileUTF16LECS '!insertmacro "ReplaceInFileUTF16LECS"' ;${ReplaceInFileUTF16LECS} SOURCE_FILE SEARCH_TEXT REPLACEMENT
-!define ReplaceInFileUTF16LE '!insertmacro "ReplaceInFileUTF16LE"' ;${ReplaceInFileUTF16LE} SOURCE_FILE SEARCH_TEXT REPLACEMENT
-
-
-!define textreplace::FindInFile `!insertmacro textreplace::FindInFile`
-
-!macro textreplace::FindInFile _INPUTFILE _FINDIT _OPTIONS _COUNT
- newtextreplace::_FindInFile /NOUNLOAD `${_INPUTFILE}` `${_FINDIT}` `${_OPTIONS}`
- Pop ${_COUNT}
-!macroend
-
-
-!define textreplace::ReplaceInFile `!insertmacro textreplace::ReplaceInFile`
-
-!macro textreplace::ReplaceInFile _INPUTFILE _OUTPUTFILE _REPLACEIT _REPLACEWITH _OPTIONS _COUNT
- newtextreplace::_ReplaceInFile /NOUNLOAD `${_INPUTFILE}` `${_OUTPUTFILE}` `${_REPLACEIT}` `${_REPLACEWITH}` `${_OPTIONS}`
- Pop ${_COUNT}
-!macroend
-
-
-!define textreplace::FillReadBuffer `!insertmacro textreplace::FillReadBuffer`
-
-!macro textreplace::FillReadBuffer _FILE _POINTER
- newtextreplace::_FillReadBuffer /NOUNLOAD `${_FILE}`
- Pop ${_POINTER}
-!macroend
-
-
-
-!define textreplace::FreeReadBuffer `!insertmacro textreplace::FreeReadBuffer`
-
-!macro textreplace::FreeReadBuffer _POINTER
- newtextreplace::_FreeReadBuffer /NOUNLOAD `${_POINTER}`
-!macroend
-
-
-
-!define textreplace::Unload `!insertmacro textreplace::Unload`
-
-!macro textreplace::Unload
- newtextreplace::_Unload
-!macroend
-
-/*****************************************************************
- *** The following is meant to ***
- *** be used in combination with ***
- *** ReplaceInFileWithTextReplace.nsh ***
- *****************************************************************/
-
-!macro ReplaceInFileUTF16LECS SOURCE_FILE SEARCH_TEXT REPLACEMENT
- Push `/U=1 /S=1`
- Push `${SOURCE_FILE}`
- Push `${SEARCH_TEXT}`
- Push `${REPLACEMENT}`
- Call ReplaceInFile
-
-!macroend
-
-!macro ReplaceInFileUTF16LE SOURCE_FILE SEARCH_TEXT REPLACEMENT
- Push `/U=1 /S=0`
- Push `${SOURCE_FILE}`
- Push `${SEARCH_TEXT}`
- Push `${REPLACEMENT}`
- Call ReplaceInFile
-!macroend
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh
deleted file mode 100644
index d6dfd138a..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh
+++ /dev/null
@@ -1,195 +0,0 @@
-!define registry::Open `!insertmacro registry::Open`
-
-!macro registry::Open _PATH _OPTIONS _HANDLE
- registry::_Open /NOUNLOAD `${_PATH}` `${_OPTIONS}`
- Pop ${_HANDLE}
-!macroend
-
-
-!define registry::Find `!insertmacro registry::Find`
-
-!macro registry::Find _HANDLE _PATH _VALUEORKEY _STRING _TYPE
- registry::_Find /NOUNLOAD `${_HANDLE}`
- Pop ${_PATH}
- Pop ${_VALUEORKEY}
- Pop ${_STRING}
- Pop ${_TYPE}
-!macroend
-
-
-!define registry::Close `!insertmacro registry::Close`
-
-!macro registry::Close _HANDLE
- registry::_Close /NOUNLOAD `${_HANDLE}`
-!macroend
-
-
-!define registry::KeyExists `!insertmacro registry::KeyExists`
-
-!macro registry::KeyExists _PATH _ERR
- registry::_KeyExists /NOUNLOAD `${_PATH}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::Read `!insertmacro registry::Read`
-
-!macro registry::Read _PATH _VALUE _STRING _TYPE
- registry::_Read /NOUNLOAD `${_PATH}` `${_VALUE}`
- Pop ${_STRING}
- Pop ${_TYPE}
-!macroend
-
-
-!define registry::Write `!insertmacro registry::Write`
-
-!macro registry::Write _PATH _VALUE _STRING _TYPE _ERR
- registry::_Write /NOUNLOAD `${_PATH}` `${_VALUE}` `${_STRING}` `${_TYPE}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::ReadExtra `!insertmacro registry::ReadExtra`
-
-!macro registry::ReadExtra _PATH _VALUE _NUMBER _STRING _TYPE
- registry::_ReadExtra /NOUNLOAD `${_PATH}` `${_VALUE}` `${_NUMBER}`
- Pop ${_STRING}
- Pop ${_TYPE}
-!macroend
-
-
-!define registry::WriteExtra `!insertmacro registry::WriteExtra`
-
-!macro registry::WriteExtra _PATH _VALUE _STRING _ERR
- registry::_WriteExtra /NOUNLOAD `${_PATH}` `${_VALUE}` `${_STRING}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::CreateKey `!insertmacro registry::CreateKey`
-
-!macro registry::CreateKey _PATH _ERR
- registry::_CreateKey /NOUNLOAD `${_PATH}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::DeleteValue `!insertmacro registry::DeleteValue`
-
-!macro registry::DeleteValue _PATH _VALUE _ERR
- registry::_DeleteValue /NOUNLOAD `${_PATH}` `${_VALUE}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::DeleteKey `!insertmacro registry::DeleteKey`
-
-!macro registry::DeleteKey _PATH _ERR
- registry::_DeleteKey /NOUNLOAD `${_PATH}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::DeleteKeyEmpty `!insertmacro registry::DeleteKeyEmpty`
-
-!macro registry::DeleteKeyEmpty _PATH _ERR
- registry::_DeleteKeyEmpty /NOUNLOAD `${_PATH}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::CopyValue `!insertmacro registry::CopyValue`
-
-!macro registry::CopyValue _PATH_SOURCE _VALUE_SOURCE _PATH_TARGET _VALUE_TARGET _ERR
- registry::_CopyValue /NOUNLOAD `${_PATH_SOURCE}` `${_VALUE_SOURCE}` `${_PATH_TARGET}` `${_VALUE_TARGET}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::MoveValue `!insertmacro registry::MoveValue`
-
-!macro registry::MoveValue _PATH_SOURCE _VALUE_SOURCE _PATH_TARGET _VALUE_TARGET _ERR
- registry::_MoveValue /NOUNLOAD `${_PATH_SOURCE}` `${_VALUE_SOURCE}` `${_PATH_TARGET}` `${_VALUE_TARGET}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::CopyKey `!insertmacro registry::CopyKey`
-
-!macro registry::CopyKey _PATH_SOURCE _PATH_TARGET _ERR
- registry::_CopyKey /NOUNLOAD `${_PATH_SOURCE}` `${_PATH_TARGET}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::MoveKey `!insertmacro registry::MoveKey`
-
-!macro registry::MoveKey _PATH_SOURCE _PATH_TARGET _ERR
- registry::_MoveKey /NOUNLOAD `${_PATH_SOURCE}` `${_PATH_TARGET}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::SaveKey `!insertmacro registry::SaveKey`
-
-!macro registry::SaveKey _PATH _FILE _OPTIONS _ERR
- registry::_SaveKey /NOUNLOAD `${_PATH}` `${_FILE}` `${_OPTIONS}`
- Pop ${_ERR}
-!macroend
-
-
-!define registry::RestoreKey `!insertmacro registry::RestoreKey`
-
-!macro registry::RestoreKey _FILE _ERR
- registry::_RestoreKey /NOUNLOAD `${_FILE}`
- Pop ${_ERR}
- IntCmp ${_ERR} -2 0 0 +10 ;REGEDIT4 ansi file
- SetDetailsPrint none
- IfFileExists "$SYSDIR\reg.exe" 0 +4 ;reg.exe used in Windows2K/XP/Vista/7
- nsExec::ExecToStack `"$SYSDIR\reg.exe" import "${_FILE}"`
- Pop ${_ERR}
- StrCmp ${_ERR} 0 +5 0
- IfFileExists "$WINDIR\regedit.exe" 0 +3 ;regedit.exe used in Wine
- ExecWait `"$WINDIR\regedit.exe" /s "${_FILE}"` ${_ERR}
- IfErrors 0 +2
- StrCpy ${_ERR} -1
- SetDetailsPrint lastused
-!macroend
-
-!define registry::StrToHex `!insertmacro registry::StrToHex`
-
-!macro registry::StrToHex _STRING _HEX_STRING
- registry::_StrToHex /NOUNLOAD `${_STRING}`
- Pop ${_HEX_STRING}
-!macroend
-
-
-!define registry::HexToStr `!insertmacro registry::HexToStr`
-
-!macro registry::HexToStr _HEX_STRING _STRING
- registry::_HexToStr /NOUNLOAD `${_HEX_STRING}`
- Pop ${_STRING}
-!macroend
-
-
-!define registry::StrToHexUTF16LE `!insertmacro registry::StrToHexUTF16LE`
-
-!macro registry::StrToHexUTF16LE _STRING _HEX_STRING
- registry::_StrToHexUTF16LE /NOUNLOAD `${_STRING}`
- Pop ${_HEX_STRING}
-!macroend
-
-
-!define registry::HexToStrUTF16LE `!insertmacro registry::HexToStrUTF16LE`
-
-!macro registry::HexToStrUTF16LE _HEX_STRING _STRING
- registry::_HexToStrUTF16LE /NOUNLOAD `${_HEX_STRING}`
- Pop ${_STRING}
-!macroend
-
-
-!define registry::Unload `!insertmacro registry::Unload`
-
-!macro registry::Unload
- registry::_Unload
-!macroend
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh
deleted file mode 100644
index f5ca6214a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh
deleted file mode 100644
index 41081643d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh
deleted file mode 100644
index f72eb616c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh
deleted file mode 100644
index 287631be2..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh
deleted file mode 100644
index e5bec680a..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh
+++ /dev/null
@@ -1,77 +0,0 @@
-/*****************************************************************
- * NewTextReplace NSIS plugin v0.4 *
- * by Gringoloco023, 2010 *
- * http://portableapps.com/node/21840 *
- * Based on: *
- * TextReplace NSIS plugin v1.5 *
- * *
- * 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) *
- *****************************************************************/
-;This file named TextReplace.nsh, for compatibility of old scripts !
-
-!define ReplaceInFileUTF16LECS '!insertmacro "ReplaceInFileUTF16LECS"' ;${ReplaceInFileUTF16LECS} SOURCE_FILE SEARCH_TEXT REPLACEMENT
-!define ReplaceInFileUTF16LE '!insertmacro "ReplaceInFileUTF16LE"' ;${ReplaceInFileUTF16LE} SOURCE_FILE SEARCH_TEXT REPLACEMENT
-
-
-!define textreplace::FindInFile `!insertmacro textreplace::FindInFile`
-
-!macro textreplace::FindInFile _INPUTFILE _FINDIT _OPTIONS _COUNT
- newtextreplace::_FindInFile /NOUNLOAD `${_INPUTFILE}` `${_FINDIT}` `${_OPTIONS}`
- Pop ${_COUNT}
-!macroend
-
-
-!define textreplace::ReplaceInFile `!insertmacro textreplace::ReplaceInFile`
-
-!macro textreplace::ReplaceInFile _INPUTFILE _OUTPUTFILE _REPLACEIT _REPLACEWITH _OPTIONS _COUNT
- newtextreplace::_ReplaceInFile /NOUNLOAD `${_INPUTFILE}` `${_OUTPUTFILE}` `${_REPLACEIT}` `${_REPLACEWITH}` `${_OPTIONS}`
- Pop ${_COUNT}
-!macroend
-
-
-!define textreplace::FillReadBuffer `!insertmacro textreplace::FillReadBuffer`
-
-!macro textreplace::FillReadBuffer _FILE _POINTER
- newtextreplace::_FillReadBuffer /NOUNLOAD `${_FILE}`
- Pop ${_POINTER}
-!macroend
-
-
-
-!define textreplace::FreeReadBuffer `!insertmacro textreplace::FreeReadBuffer`
-
-!macro textreplace::FreeReadBuffer _POINTER
- newtextreplace::_FreeReadBuffer /NOUNLOAD `${_POINTER}`
-!macroend
-
-
-
-!define textreplace::Unload `!insertmacro textreplace::Unload`
-
-!macro textreplace::Unload
- newtextreplace::_Unload
-!macroend
-
-/*****************************************************************
- *** The following is meant to ***
- *** be used in combination with ***
- *** ReplaceInFileWithTextReplace.nsh ***
- *****************************************************************/
-
-!macro ReplaceInFileUTF16LECS SOURCE_FILE SEARCH_TEXT REPLACEMENT
- Push `/U=1 /S=1`
- Push `${SOURCE_FILE}`
- Push `${SEARCH_TEXT}`
- Push `${REPLACEMENT}`
- Call ReplaceInFile
-
-!macroend
-
-!macro ReplaceInFileUTF16LE SOURCE_FILE SEARCH_TEXT REPLACEMENT
- Push `/U=1 /S=0`
- Push `${SOURCE_FILE}`
- Push `${SEARCH_TEXT}`
- Push `${REPLACEMENT}`
- Call ReplaceInFile
-!macroend
-
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh
deleted file mode 100644
index 8e88c3ce3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh
deleted file mode 100644
index b05d9ea70..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh
deleted file mode 100644
index 759124051..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh
deleted file mode 100644
index 42ed923b4..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh
deleted file mode 100644
index db7b6c74a..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh
+++ /dev/null
@@ -1,74 +0,0 @@
-!ifndef __WIN_WINDEF__INC
-!define __WIN_WINDEF__INC
-!verbose push
-!verbose 3
-!ifndef __WIN_NOINC_WINDEF
-
-
-!ifndef MAX_PATH
-!define MAX_PATH 260
-!endif
-#define NULL 0
-
-
-!macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b
-${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2}
-StrCpy ${_outvar} "${_a}"
-goto +2
-StrCpy ${_outvar} "${_b}"
-!macroend
-!ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u
-!define min "!insertmacro _Win_MINMAX IntCmp +1 +3 "
-!define max "!insertmacro _Win_MINMAX IntCmp +3 +1 "
-!define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 "
-!define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 "
-!endif
-
-!macro _Win_LOBYTE _outvar _in
-IntOp ${_outvar} "${_in}" & 0xFF
-!macroend
-!define LOBYTE "!insertmacro _Win_LOBYTE "
-
-!macro _Win_HIBYTE _outvar _in
-IntOp ${_outvar} "${_in}" >> 8
-${LOBYTE} ${_outvar} ${_outvar}
-!macroend
-!define HIBYTE "!insertmacro _Win_HIBYTE "
-
-!macro _Win_LOWORD _outvar _in
-IntOp ${_outvar} "${_in}" & 0xFFFF
-!macroend
-!define LOWORD "!insertmacro _Win_LOWORD "
-
-!macro _Win_HIWORD _outvar _in
-IntOp ${outvar} "${_in}" >> 16 ;sign extended :(
-${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word
-!macroend
-!define HIWORD "!insertmacro _Win_HIWORD "
-
-!macro _Win_MAKEWORD _outvar _tmpvar _lo _hi
-${LOBYTE} ${_outvar} "${_hi}"
-${LOBYTE} ${_tmpvar} "${_lo}"
-IntOp ${_outvar} ${_outvar} << 8
-IntOp ${_outvar} ${_outvar} | ${_tmpvar}
-!macroend
-!define MAKEWORD "!insertmacro _Win_MAKEWORD "
-
-!macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi
-${LOWORD} ${_outvar} "${_wlo}"
-IntOp ${_tmpvar} "${_whi}" << 16
-IntOp ${_outvar} ${_outvar} | ${_tmpvar}
-!macroend
-!define MAKELONG "!insertmacro _Win_MAKELONG32 "
-!if "${__WIN_PTRSIZE}" <= 4
-!define MAKEWPARAM "${MAKELONG}"
-!define MAKELPARAM "${MAKELONG}"
-!define MAKELRESULT "${MAKELONG}"
-!else
-!error "Missing 64bit imp!"
-!endif
-
-
-!endif /* __WIN_NOINC_WINDEF */
-!verbose pop
-!endif /* __WIN_WINDEF__INC */
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh
deleted file mode 100644
index 4fec78052..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh
+++ /dev/null
@@ -1,64 +0,0 @@
-!ifndef __WIN_WINERROR__INC
-!define __WIN_WINERROR__INC
-!verbose push
-!verbose 3
-!ifndef __WIN_NOINC_WINERROR
-
-#define NO_ERROR 0
-!define ERROR_SUCCESS 0
-!define ERROR_INVALID_FUNCTION 1
-!define ERROR_FILE_NOT_FOUND 2
-!define ERROR_PATH_NOT_FOUND 3
-!define ERROR_TOO_MANY_OPEN_FILES 4
-!define ERROR_ACCESS_DENIED 5
-!define ERROR_INVALID_HANDLE 6
-!define ERROR_ARENA_TRASHED 7
-!define ERROR_NOT_ENOUGH_MEMORY 8
-!define ERROR_INVALID_BLOCK 9
-!define ERROR_BAD_ENVIRONMENT 10
-!define ERROR_BAD_FORMAT 11
-!define ERROR_INVALID_ACCESS 12
-!define ERROR_INVALID_DATA 13
-!define ERROR_OUTOFMEMORY 14
-!define ERROR_INVALID_DRIVE 15
-!define ERROR_CURRENT_DIRECTORY 16
-!define ERROR_NOT_SAME_DEVICE 17
-!define ERROR_NO_MORE_FILES 18
-!define ERROR_WRITE_PROTECT 19
-!define ERROR_BAD_UNIT 20
-!define ERROR_NOT_READY 21
-!define ERROR_BAD_COMMAND 22
-!define ERROR_CRC 23
-!define ERROR_BAD_LENGTH 24
-!define ERROR_SEEK 25
-!define ERROR_NOT_DOS_DISK 26
-!define ERROR_SECTOR_NOT_FOUND 27
-!define ERROR_OUT_OF_PAPER 28
-!define ERROR_WRITE_FAULT 29
-!define ERROR_READ_FAULT 30
-!define ERROR_GEN_FAILURE 31
-!define ERROR_SHARING_VIOLATION 32
-!define ERROR_LOCK_VIOLATION 33
-!define ERROR_WRONG_DISK 34
-!define ERROR_SHARING_BUFFER_EXCEEDED 36
-!define ERROR_HANDLE_EOF 38
-!define ERROR_HANDLE_DISK_FULL 39
-!define ERROR_NOT_SUPPORTED 50
-
-!define SEVERITY_SUCCESS 0
-!define SEVERITY_ERROR 1
-!define E_UNEXPECTED 0x8000FFFF
-!define E_NOTIMPL 0x80004001
-!define E_OUTOFMEMORY 0x8007000E
-!define E_INVALIDARG 0x80070057
-!define E_NOINTERFACE 0x80004002
-!define E_POINTER 0x80004003
-!define E_HANDLE 0x80070006
-!define E_ABORT 0x80004004
-!define E_FAIL 0x80004005
-!define E_ACCESSDENIED 0x80070005
-!define E_PENDING 0x8000000A
-
-!endif /* __WIN_NOINC_WINERROR */
-!verbose pop
-!endif /* __WIN_WINERROR__INC */
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh
deleted file mode 100644
index bec1c1445..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh
+++ /dev/null
@@ -1,209 +0,0 @@
-!ifndef __WIN_WINNT__INC
-!define __WIN_WINNT__INC
-!verbose push
-!verbose 3
-!ifndef __WIN_NOINC_WINNT
-
-
-#define MINCHAR 0x80
-#define MAXCHAR 0x7f
-!define MINSHORT 0x8000
-!define MAXSHORT 0x7fff
-!define MINLONG 0x80000000
-!define MAXLONG 0x7fffffff
-!define MAXBYTE 0xff
-!define MAXWORD 0xffff
-!define MAXDWORD 0xffffffff
-
-!ifndef WIN32_NO_STATUS
-!define STATUS_WAIT_0 0x00000000
-!define STATUS_ABANDONED_WAIT_0 0x00000080
-!define STATUS_USER_APC 0x000000C0
-!define STATUS_TIMEOUT 0x00000102
-!define STATUS_PENDING 0x00000103
-!define DBG_EXCEPTION_HANDLED 0x00010001
-!define DBG_CONTINUE 0x00010002
-!define STATUS_SEGMENT_NOTIFICATION 0x40000005
-!define DBG_TERMINATE_THREAD 0x40010003
-!define DBG_TERMINATE_PROCESS 0x40010004
-!define DBG_CONTROL_C 0x40010005
-!define DBG_CONTROL_BREAK 0x40010008
-!define DBG_COMMAND_EXCEPTION 0x40010009
-!define STATUS_GUARD_PAGE_VIOLATION 0x80000001
-!define STATUS_DATATYPE_MISALIGNMENT 0x80000002
-!define STATUS_BREAKPOINT 0x80000003
-!define STATUS_SINGLE_STEP 0x80000004
-!define DBG_EXCEPTION_NOT_HANDLED 0x80010001
-!define STATUS_ACCESS_VIOLATION 0xC0000005
-!define STATUS_IN_PAGE_ERROR 0xC0000006
-!define STATUS_INVALID_HANDLE 0xC0000008
-!define STATUS_NO_MEMORY 0xC0000017
-!define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
-!define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
-!define STATUS_INVALID_DISPOSITION 0xC0000026
-!define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
-!define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
-!define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
-!define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
-!define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
-!define STATUS_FLOAT_OVERFLOW 0xC0000091
-!define STATUS_FLOAT_STACK_CHECK 0xC0000092
-!define STATUS_FLOAT_UNDERFLOW 0xC0000093
-!define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
-!define STATUS_INTEGER_OVERFLOW 0xC0000095
-!define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
-!define STATUS_STACK_OVERFLOW 0xC00000FD
-!define STATUS_CONTROL_C_EXIT 0xC000013A
-!define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4
-!define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5
-!define STATUS_REG_NAT_CONSUMPTION 0xC00002C9
-!define STATUS_SXS_EARLY_DEACTIVATION 0xC015000F
-!define STATUS_SXS_INVALID_DEACTIVATION 0xC0150010
-!endif /*WIN32_NO_STATUS*/
-
-#define MAXIMUM_WAIT_OBJECTS 64
-
-!define DELETE 0x00010000
-!define READ_CONTROL 0x00020000
-!define WRITE_DAC 0x00040000
-!define WRITE_OWNER 0x00080000
-!define SYNCHRONIZE 0x00100000
-!define STANDARD_RIGHTS_REQUIRED 0x000F0000
-!define STANDARD_RIGHTS_READ ${READ_CONTROL}
-!define STANDARD_RIGHTS_WRITE ${READ_CONTROL}
-!define STANDARD_RIGHTS_EXECUTE ${READ_CONTROL}
-!define STANDARD_RIGHTS_ALL 0x001F0000
-!define SPECIFIC_RIGHTS_ALL 0x0000FFFF
-!define ACCESS_SYSTEM_SECURITY 0x01000000
-!define MAXIMUM_ALLOWED 0x02000000
-!define GENERIC_READ 0x80000000
-!define GENERIC_WRITE 0x40000000
-!define GENERIC_EXECUTE 0x20000000
-!define GENERIC_ALL 0x10000000
-
-!define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001
-!define SE_PRIVILEGE_ENABLED 0x00000002
-!define SE_PRIVILEGE_REMOVED 0x00000004
-!define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000
-
-!define SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege"
-!define SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege"
-!define SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege"
-!define SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege"
-!define SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege"
-!define SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege"
-!define SE_TCB_NAME "SeTcbPrivilege"
-!define SE_SECURITY_NAME "SeSecurityPrivilege"
-!define SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege"
-!define SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege"
-!define SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege"
-!define SE_SYSTEMTIME_NAME "SeSystemtimePrivilege"
-!define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege"
-!define SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege"
-!define SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege"
-!define SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege"
-!define SE_BACKUP_NAME "SeBackupPrivilege"
-!define SE_RESTORE_NAME "SeRestorePrivilege"
-!define SE_SHUTDOWN_NAME "SeShutdownPrivilege"
-!define SE_DEBUG_NAME "SeDebugPrivilege"
-!define SE_AUDIT_NAME "SeAuditPrivilege"
-!define SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege"
-!define SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege"
-!define SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege"
-!define SE_UNDOCK_NAME "SeUndockPrivilege"
-!define SE_SYNC_AGENT_NAME "SeSyncAgentPrivilege"
-!define SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege"
-!define SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege"
-!define SE_IMPERSONATE_NAME "SeImpersonatePrivilege"
-!define SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege"
-
-!define TOKEN_ASSIGN_PRIMARY 0x0001
-!define TOKEN_DUPLICATE 0x0002
-!define TOKEN_IMPERSONATE 0x0004
-!define TOKEN_QUERY 0x0008
-!define TOKEN_QUERY_SOURCE 0x0010
-!define TOKEN_ADJUST_PRIVILEGES 0x0020
-!define TOKEN_ADJUST_GROUPS 0x0040
-!define TOKEN_ADJUST_DEFAULT 0x0080
-!define TOKEN_ADJUST_SESSIONID 0x0100
-!define TOKEN_ALL_ACCESS_P 0xF00FF
-!define /math TOKEN_ALL_ACCESS ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID}
-!define /math TOKEN_READ ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY}
-!define TOKEN_WRITE 0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT)
-!define TOKEN_EXECUTE ${STANDARD_RIGHTS_EXECUTE}
-
-!define PROCESS_TERMINATE 0x0001
-!define PROCESS_CREATE_THREAD 0x0002
-!define PROCESS_SET_SESSIONID 0x0004
-!define PROCESS_VM_OPERATION 0x0008
-!define PROCESS_VM_READ 0x0010
-!define PROCESS_VM_WRITE 0x0020
-!define PROCESS_DUP_HANDLE 0x0040
-!define PROCESS_CREATE_PROCESS 0x0080
-!define PROCESS_SET_QUOTA 0x0100
-!define PROCESS_SET_INFORMATION 0x0200
-!define PROCESS_QUERY_INFORMATION 0x0400
-!define PROCESS_SUSPEND_RESUME 0x0800
-!define PROCESS_ALL_ACCESS 0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF)
-!define THREAD_TERMINATE 0x0001
-!define THREAD_SUSPEND_RESUME 0x0002
-!define THREAD_GET_CONTEXT 0x0008
-!define THREAD_SET_CONTEXT 0x0010
-!define THREAD_SET_INFORMATION 0x0020
-!define THREAD_QUERY_INFORMATION 0x0040
-!define THREAD_SET_THREAD_TOKEN 0x0080
-!define THREAD_IMPERSONATE 0x0100
-!define THREAD_DIRECT_IMPERSONATION 0x0200
-!define THREAD_ALL_ACCESS 0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF)
-!define JOB_OBJECT_ASSIGN_PROCESS 0x0001
-!define JOB_OBJECT_SET_ATTRIBUTES 0x0002
-!define JOB_OBJECT_QUERY 0x0004
-!define JOB_OBJECT_TERMINATE 0x0008
-!define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x0010
-!define JOB_OBJECT_ALL_ACCESS 0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F )
-!define EVENT_MODIFY_STATE 0x0002
-!define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
-!define MUTANT_QUERY_STATE 0x0001
-!define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
-
-!define FILE_SHARE_READ 0x00000001
-!define FILE_SHARE_WRITE 0x00000002
-!define FILE_SHARE_DELETE 0x00000004
-!define FILE_ATTRIBUTE_READONLY 0x00000001
-!define FILE_ATTRIBUTE_HIDDEN 0x00000002
-!define FILE_ATTRIBUTE_SYSTEM 0x00000004
-!define FILE_ATTRIBUTE_DIRECTORY 0x00000010
-!define FILE_ATTRIBUTE_ARCHIVE 0x00000020
-!define FILE_ATTRIBUTE_DEVICE 0x00000040
-!define FILE_ATTRIBUTE_NORMAL 0x00000080
-!define FILE_ATTRIBUTE_TEMPORARY 0x00000100
-!define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
-!define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
-!define FILE_ATTRIBUTE_COMPRESSED 0x00000800
-!define FILE_ATTRIBUTE_OFFLINE 0x00001000
-!define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
-!define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
-
-!define DUPLICATE_CLOSE_SOURCE 0x00000001
-!define DUPLICATE_SAME_ACCESS 0x00000002
-
-!define VER_PLATFORM_WIN32s 0
-!define VER_PLATFORM_WIN32_WINDOWS 1
-!define VER_PLATFORM_WIN32_NT 2
-
-!ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES
-!define REG_NONE 0
-!define REG_SZ 1
-!define REG_EXPAND_SZ 2
-!define REG_BINARY 3
-!define REG_DWORD 4
-!define REG_DWORD_LITTLE_ENDIAN 4
-!define REG_DWORD_BIG_ENDIAN 5
-!define REG_LINK 6
-!define REG_MULTI_SZ 7
-!endif
-
-
-!endif /* __WIN_NOINC_WINNT */
-!verbose pop
-!endif /* __WIN_WINNT__INC */
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh
deleted file mode 100644
index 7a217c27d..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh
+++ /dev/null
@@ -1,199 +0,0 @@
-!ifndef __WIN_WINUSER__INC
-!define __WIN_WINUSER__INC
-!verbose push
-!verbose 3
-!ifndef __WIN_MS_NOUSER & __WIN_NOINC_WINUSER
-
-!ifndef __WIN_MS_NOVIRTUALKEYCODES
-!define VK_LBUTTON 0x01
-!define VK_RBUTTON 0x02
-!define VK_CANCEL 0x03
-!define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */
-!define VK_XBUTTON1 0x05 /* NOT contiguous with L & RBUTTON */
-!define VK_XBUTTON2 0x06 /* NOT contiguous with L & RBUTTON */
-!define VK_BACK 0x08
-!define VK_TAB 0x09
-!define VK_CLEAR 0x0C
-!define VK_RETURN 0x0D
-!define VK_SHIFT 0x10
-!define VK_CONTROL 0x11
-!define VK_MENU 0x12
-!define VK_PAUSE 0x13
-!define VK_CAPITAL 0x14
-!define VK_ESCAPE 0x1B
-!define VK_CONVERT 0x1C
-!define VK_NONCONVERT 0x1D
-!define VK_ACCEPT 0x1E
-!define VK_MODECHANGE 0x1F
-!define VK_SPACE 0x20
-!define VK_PRIOR 0x21
-!define VK_NEXT 0x22
-!define VK_END 0x23
-!define VK_HOME 0x24
-!define VK_LEFT 0x25
-!define VK_UP 0x26
-!define VK_RIGHT 0x27
-!define VK_DOWN 0x28
-!define VK_SELECT 0x29
-!define VK_PRINT 0x2A
-!define VK_EXECUTE 0x2B
-!define VK_SNAPSHOT 0x2C
-!define VK_INSERT 0x2D
-!define VK_DELETE 0x2E
-!define VK_HELP 0x2F
-; VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39)
-; VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A)
-!define VK_LWIN 0x5B
-!define VK_RWIN 0x5C
-!define VK_APPS 0x5D
-!define VK_SLEEP 0x5F
-!define VK_NUMPAD0 0x60
-!define VK_NUMPAD1 0x61
-!define VK_NUMPAD2 0x62
-!define VK_NUMPAD3 0x63
-!define VK_NUMPAD4 0x64
-!define VK_NUMPAD5 0x65
-!define VK_NUMPAD6 0x66
-!define VK_NUMPAD7 0x67
-!define VK_NUMPAD8 0x68
-!define VK_NUMPAD9 0x69
-!define VK_MULTIPLY 0x6A
-!define VK_ADD 0x6B
-!define VK_SEPARATOR 0x6C
-!define VK_SUBTRACT 0x6D
-!define VK_DECIMAL 0x6E
-!define VK_DIVIDE 0x6F
-!define VK_F1 0x70
-!define VK_F2 0x71
-!define VK_F3 0x72
-!define VK_F4 0x73
-!define VK_F5 0x74
-!define VK_F6 0x75
-!define VK_F7 0x76
-!define VK_F8 0x77
-!define VK_F9 0x78
-!define VK_F10 0x79
-!define VK_F11 0x7A
-!define VK_F12 0x7B
-!define VK_NUMLOCK 0x90
-!define VK_SCROLL 0x91
-!define VK_OEM_NEC_EQUAL 0x92 ; '=' key on numpad
-!define VK_LSHIFT 0xA0
-!define VK_RSHIFT 0xA1
-!define VK_LCONTROL 0xA2
-!define VK_RCONTROL 0xA3
-!define VK_LMENU 0xA4
-!define VK_RMENU 0xA5
-!endif
-
-!ifndef __WIN_MS_NOWINOFFSETS
-/* in nsDialogs.nsh...
-!define GWL_STYLE -16
-!define GWL_EXSTYLE -20 */
-!define GWLP_WNDPROC -4
-!define GWLP_HINSTANCE -6
-!define GWLP_HWNDPARENT -8
-!define GWLP_USERDATA -21
-!define GWLP_ID -12
-!define DWLP_MSGRESULT 0
-!define /math DWLP_DLGPROC ${DWLP_MSGRESULT} + ${__WIN_PTRSIZE} ;DWLP_MSGRESULT + sizeof(LRESULT)
-!define /math DWLP_USER ${DWLP_DLGPROC} + ${__WIN_PTRSIZE} ;DWLP_DLGPROC + sizeof(DLGPROC)
-!endif
-
-!ifndef __WIN_MS_NONCMESSAGES
-!define HTERROR -2
-!define HTTRANSPARENT -1
-!define HTNOWHERE 0
-!define HTCLIENT 1
-!define HTCAPTION 2
-!define HTSYSMENU 3
-!define HTGROWBOX 4
-!define HTSIZE ${HTGROWBOX}
-!define HTMENU 5
-!define HTHSCROLL 6
-!define HTVSCROLL 7
-!define HTMINBUTTON 8
-!define HTMAXBUTTON 9
-!define HTLEFT 10
-!define HTRIGHT 11
-!define HTTOP 12
-!define HTTOPLEFT 13
-!define HTTOPRIGHT 14
-!define HTBOTTOM 15
-!define HTBOTTOMLEFT 16
-!define HTBOTTOMRIGHT 17
-!define HTBORDER 18
-!define HTREDUCE ${HTMINBUTTON}
-!define HTZOOM ${HTMAXBUTTON}
-!define HTSIZEFIRST ${HTLEFT}
-!define HTSIZELAST ${HTBOTTOMRIGHT}
-!define HTOBJECT 19
-!define HTCLOSE 20
-!define HTHELP 21
-!endif
-
-!ifndef __WIN_MS_NOSYSCOMMANDS
-!define SC_SIZE 0xF000
-!define SC_MOVE 0xF010
-!define SC_MINIMIZE 0xF020
-!define SC_MAXIMIZE 0xF030
-!define SC_NEXTWINDOW 0xF040
-!define SC_PREVWINDOW 0xF050
-!define SC_CLOSE 0xF060
-!define SC_VSCROLL 0xF070
-!define SC_HSCROLL 0xF080
-!define SC_MOUSEMENU 0xF090
-!define SC_KEYMENU 0xF100
-!define SC_ARRANGE 0xF110
-!define SC_RESTORE 0xF120
-!define SC_TASKLIST 0xF130
-!define SC_SCREENSAVE 0xF140
-!define SC_HOTKEY 0xF150
-!define SC_DEFAULT 0xF160
-!define SC_MONITORPOWER 0xF170
-!define SC_CONTEXTHELP 0xF180
-!define SC_SEPARATOR 0xF00F
-!endif
-
-!define IDC_ARROW 32512
-!define IDC_IBEAM 32513
-!define IDC_WAIT 32514
-!define IDC_CROSS 32515
-!define IDC_UPARROW 32516
-!define IDC_SIZENWSE 32642
-!define IDC_SIZENESW 32643
-!define IDC_SIZEWE 32644
-!define IDC_SIZENS 32645
-!define IDC_SIZEALL 32646
-!define IDC_NO 32648
-!define IDC_HAND 32649
-!define IDC_APPSTARTING 32650
-!define IDC_HELP 32651
-
-/* in nsDialogs.nsh...
-!define IMAGE_BITMAP 0
-!define IMAGE_ICON 1
-!define IMAGE_CURSOR 2*/
-
-/* in nsDialogs.nsh...
-!define LR_DEFAULTCOLOR 0x0000
-!define LR_MONOCHROME 0x0001
-!define LR_COLOR 0x0002
-!define LR_COPYRETURNORG 0x0004
-!define LR_COPYDELETEORG 0x0008
-!define LR_LOADFROMFILE 0x0010
-!define LR_LOADTRANSPARENT 0x0020
-!define LR_DEFAULTSIZE 0x0040
-!define LR_VGACOLOR 0x0080
-!define LR_LOADMAP3DCOLORS 0x1000
-!define LR_CREATEDIBSECTION 0x2000
-!define LR_COPYFROMRESOURCE 0x4000
-!define LR_SHARED 0x8000*/
-
-!define GA_PARENT 1
-!define GA_ROOT 2
-!define GA_ROOTOWNER 3
-
-!endif /* __WIN_MS_NOUSER & __WIN_NOINC_WINUSER */
-!verbose pop
-!endif /* __WIN_WINUSER__INC */
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh
deleted file mode 100644
index 6767847fe..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh
deleted file mode 100644
index cbfb54a8b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh
deleted file mode 100644
index 91640c6e7..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh
deleted file mode 100644
index 875a00b65..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh
deleted file mode 100644
index 555b0226d..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh
+++ /dev/null
@@ -1,56 +0,0 @@
-# "Dialogs header file by Joel Almeida Garca"
-
-#include once this header file
-!ifndef DIALOGS_NSH
- !define DIALOGS_NSH
- !verbose push
- !verbose 3
-
- !ifndef LOGICLIB
- #Add logic library
- !include "LogicLib.nsh"
- !endif
-
- # Global stuff
- !define ISTRUE 1
- !define ISFALSE 0
- !define NULL ""
-
- # Returning Vars
- !define VAR_0 0 # $0
- !define VAR_1 1 # $1
- !define VAR_2 2 # $2
- !define VAR_3 3 # $3
- !define VAR_4 4 # $4
- !define VAR_5 5 # $5
- !define VAR_6 6 # $6
- !define VAR_7 7 # $7
- !define VAR_8 8 # $8
- !define VAR_9 9 # $9
- !define VAR_R0 10 # $R0
- !define VAR_R1 11 # $R1
- !define VAR_R2 12 # $R2
- !define VAR_R3 13 # $R3
- !define VAR_R4 14 # $R4
- !define VAR_R5 15 # $R5
- !define VAR_R6 16 # $R6
- !define VAR_R7 17 # $R7
- !define VAR_R8 18 # $R8
- !define VAR_R9 19 # $R9
- !define VAR_CMDLINE 20 # $CMDLINE
- !define VAR_INSTDIR 21 # $INSTDIR
- !define VAR_OUTDIR 22 # $OUTDIR
- !define VAR_EXEDIR 23 # $EXEDIR
- !define VAR_LANG 24 # $LANGUAGE
-
- # Function prototypes
- !define OpenBox 'dialogsEx::FileBox ""'
- !define SaveBox 'dialogsEx::FileBox "1"'
- !define ClassicFolderBox 'dialogsEx::FolderBox ""'
- !define ModernFolderBox 'dialogsEx::FolderBox "1"'
- !define InputTextBox 'dialogsEx::InputBox ""'
- !define InputPwdBox 'dialogsEx::InputBox "1"'
- !define InputRegBox 'dialogsEx::InputRegBox'
-
- !verbose pop
-!endif
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh
deleted file mode 100644
index ef4e17861..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh
deleted file mode 100644
index 5f78a1d91..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll
deleted file mode 100644
index 9d40006fb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll
deleted file mode 100644
index 7cbc3a1d9..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll
deleted file mode 100644
index d79334f97..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll
deleted file mode 100644
index 4d163e1fd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll
deleted file mode 100644
index 5a27af02b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll
deleted file mode 100644
index 168cc5053..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll
deleted file mode 100644
index 22c8398f1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll
deleted file mode 100644
index b6de1b684..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll
deleted file mode 100644
index 8119afa2b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll
deleted file mode 100644
index 35b0b4611..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll
deleted file mode 100644
index d5a6d4e52..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll
deleted file mode 100644
index 274d98198..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll
deleted file mode 100644
index 5747dc6b6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll
deleted file mode 100644
index 12292166b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll
deleted file mode 100644
index 3cb288c2d..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll
deleted file mode 100644
index bd1ec597c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll
deleted file mode 100644
index 0f69f3a98..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll
deleted file mode 100644
index 19a876efe..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll
deleted file mode 100644
index b4440fdf3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll
deleted file mode 100644
index 586871cdb..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll
deleted file mode 100644
index af1b4e69f..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll
deleted file mode 100644
index 0a582159b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll
deleted file mode 100644
index 0234253e6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll
deleted file mode 100644
index f35cd6a08..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll
deleted file mode 100644
index d265788b1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll
deleted file mode 100644
index 5e58c3917..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll
deleted file mode 100644
index 206dc2c64..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll
deleted file mode 100644
index 1f142a27b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll
deleted file mode 100644
index 788bfe377..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll
deleted file mode 100644
index 180598051..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll
deleted file mode 100644
index 0b71718ce..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2 b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2
deleted file mode 100644
index 0a63d0556..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2 and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid
deleted file mode 100644
index 313d679f6..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma
deleted file mode 100644
index a4038f9fa..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid
deleted file mode 100644
index f992aec84..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst
deleted file mode 100644
index 90d7d2252..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib
deleted file mode 100644
index ad55bb1dd..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid
deleted file mode 100644
index 5855cff84..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe
deleted file mode 100644
index 6845bb2ca..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh
deleted file mode 100644
index ded5b9aa3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini b/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini
deleted file mode 100644
index 8a4e3981d..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini
+++ /dev/null
@@ -1 +0,0 @@
-[InstallerWizard]
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png
deleted file mode 100644
index f19dea7a1..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico
deleted file mode 100644
index ed849b2de..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png
deleted file mode 100644
index 5ebdc028c..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png
deleted file mode 100644
index cf1ebf762..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png
deleted file mode 100644
index 1a705050e..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi b/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi
deleted file mode 100644
index 6432f87a6..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi
+++ /dev/null
@@ -1,1141 +0,0 @@
-;Copyright (C) 2006-2013 John T. Haller
-
-;Website: http://PortableApps.com/Installer
-
-;This software is OSI Certified Open Source Software.
-;OSI Certified is a certification mark of the Open Source Initiative.
-
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either version 2
-;of the License, or (at your option) any later version.
-
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-;GNU General Public License for more details.
-
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-!define APPNAME "PortableApps.com Installer"
-!define VER "3.0.6.0"
-!define WEBSITE "PortableApps.com/Installer"
-!define FRIENDLYVER "3.0.6"
-!define PORTABLEAPPS.COMFORMATVERSION "3.0"
-
-;=== Program Details
-Name "${APPNAME}"
-OutFile "..\..\PortableApps.comInstaller.exe"
-Caption "${APPNAME}"
-VIProductVersion "${VER}"
-VIAddVersionKey ProductName "${APPNAME}"
-VIAddVersionKey Comments "For additional details, visit ${WEBSITE}"
-VIAddVersionKey CompanyName "PortableApps.com"
-VIAddVersionKey LegalCopyright "John T. Haller"
-VIAddVersionKey FileDescription "${APPNAME}"
-VIAddVersionKey FileVersion "${VER}"
-VIAddVersionKey ProductVersion "${VER}"
-VIAddVersionKey InternalName "${APPNAME}"
-VIAddVersionKey LegalTrademarks "PortableApps.com is a trademark of Rare Ideas, LLC."
-VIAddVersionKey OriginalFilename "PortableApps.comInstaller.exe"
-
-;=== Runtime Switches
-CRCCheck On
-RequestExecutionLevel user
-
-; Best Compression
-SetCompress Auto
-SetCompressor /SOLID lzma
-SetCompressorDictSize 32
-SetDatablockOptimize On
-
-;=== Include
-;(Standard)
-!include WordFunc.nsh
-!insertmacro WordReplace
-!include FileFunc.nsh
-!insertmacro GetFileName
-!insertmacro GetParameters
-!insertmacro GetParent
-!insertmacro GetSize
-!include LogicLib.nsh
-!include MUI.nsh
-
-;(Addons)
-!include dialogs.nsh
-
-;(Custom)
-!include MoveFiles.nsh
-!include ReadINIStrWithDefault.nsh
-!include TBProgress.nsh
-
-;=== Icon & Stye ===
-!define MUI_ICON "..\..\App\AppInfo\appicon.ico"
-!define MUI_HEADERIMAGE
-!define MUI_HEADERIMAGE_RIGHT
-!define MUI_HEADERIMAGE_BITMAP header.bmp
-!define MUI_HEADERIMAGE_BITMAP_RTL header_rtl.bmp
-
-BrandingText "PortableApps.com®"
-InstallButtonText "Go >"
-ShowInstDetails show
-SubCaption 3 " | Processing Files"
-
-;=== Variables
-Var FINISHTEXT
-Var FINISHTITLE
-Var INSTALLAPPDIRECTORY
-Var SKIPWELCOMEPAGE
-Var AUTOMATICCOMPILE
-
-Var INCLUDESOURCE
-Var PORTABLEAPPNAME
-Var PORTABLEAPPNAMEDOUBLEDAMPERSANDS
-Var PLUGINNAME
-Var APPID
-Var SHORTNAME
-Var APPLANGUAGE
-Var ALLLANGUAGES
-Var INSTALLERFILENAME
-Var OPTIONALCOMPONENTS
-Var DISPLAYVERSION
-Var COMMONFILESPLUGIN
-Var USEEXTRACTEDICON
-Var INTERACTIVEMODE
-Var EULAVERSION
-
-Var ERROROCCURED
-
-Var AppInfoINIFile
-Var InstallerINIFile
-Var PluginInstaller
-Var OptionalSectionSelectedInstallType
-
-;=== Pages
-!define MUI_WELCOMEFINISHPAGE_BITMAP welcomefinish.bmp
-!define MUI_WELCOMEPAGE_TITLE "PortableApps.com Installer ${FRIENDLYVER}"
-!define MUI_WELCOMEPAGE_TEXT "Welcome to the PortableApps.com Installer.\r\n\r\nThis utility allows you to create a PortableApps.com Installer package for an app in PortableApps.com Format. Just click next and select the application to package.\r\n\r\nLICENSE: The PortableApps.com Installer can be used with open source and freeware apps provided the installer is unmodified and the app adheres to the current PortableApps.com Format Specification as published at PortableApps.com/development. It may also be used with commercial software by contacting PortableApps.com."
-!define MUI_PAGE_CUSTOMFUNCTION_PRE ShowWelcomeWindow
-!insertmacro MUI_PAGE_WELCOME
-Page custom ShowOptionsWindow LeaveOptionsWindow " | Portable App Folder Selection"
-!insertmacro MUI_PAGE_INSTFILES
-!define MUI_PAGE_CUSTOMFUNCTION_PRE ShowFinishPage
-!define MUI_FINISHPAGE_TITLE "$FINISHTITLE"
-!define MUI_FINISHPAGE_TEXT "$FINISHTEXT"
-!define MUI_FINISHPAGE_RUN
-!define MUI_FINISHPAGE_RUN_NOTCHECKED
-!define MUI_FINISHPAGE_RUN_TEXT "Test Installer"
-!define MUI_FINISHPAGE_RUN_FUNCTION "RunOnFinish"
-!define MUI_FINISHPAGE_SHOWREADME "$EXEDIR\Data\PortableApps.comInstallerLog.txt"
-!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
-!define MUI_FINISHPAGE_SHOWREADME_TEXT "View log file"
-!define MUI_FINISHPAGE_CANCEL_ENABLED
-!insertmacro MUI_PAGE_FINISH
-
-;=== Languages
-!insertmacro MUI_LANGUAGE "English"
-
-Function .onInit
- !insertmacro MUI_INSTALLOPTIONS_EXTRACT "InstallerWizardForm.ini"
-
- ;=== Check for settings.ini
- ${IfNot} ${FileExists} $EXEDIR\Data\settings.ini
- CreateDirectory $EXEDIR\Data
- CopyFiles /SILENT $EXEDIR\App\DefaultData\settings.ini $EXEDIR\Data
- ${EndIf}
-
- ; Get settings
- ReadINIStr $SKIPWELCOMEPAGE "$EXEDIR\Data\settings.ini" "InstallerWizard" "SkipWelcomePage"
- ReadINIStr $INSTALLAPPDIRECTORY "$EXEDIR\Data\settings.ini" "InstallerWizard" "INSTALLAPPDIRECTORY"
-
- ${GetParameters} $R0
- ${If} $R0 != ""
- StrCpy $INSTALLAPPDIRECTORY $R0
- StrCpy $SKIPWELCOMEPAGE "true"
- StrCpy $AUTOMATICCOMPILE "true"
- ;Strip quotes from $INSTALLAPPDIRECTORY
- StrCpy $R0 $INSTALLAPPDIRECTORY 1
- ${If} $R0 == `"`
- StrCpy $INSTALLAPPDIRECTORY $INSTALLAPPDIRECTORY "" 1
- StrCpy $INSTALLAPPDIRECTORY $INSTALLAPPDIRECTORY -1
- ${EndIf}
- ${EndIf}
-
- ;=== Pre-Fill Path with Directory
- WriteINIStr $PLUGINSDIR\InstallerWizardForm.ini "Field 2" "State" "$INSTALLAPPDIRECTORY"
-FunctionEnd
-
-Function ShowWelcomeWindow
- ${If} $SKIPWELCOMEPAGE == "true"
- Abort
- ${EndIf}
-FunctionEnd
-
-Function ShowOptionsWindow
- !insertmacro MUI_HEADER_TEXT "PortableApps.com Installer ${FRIENDLYVER}" "the open portable software standard"
- ${If} $AUTOMATICCOMPILE == "true"
- ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\installer.ini"
- StrCpy $PluginInstaller "false"
- Abort
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $PluginInstaller "true"
- Abort
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini"
- CreateDirectory "$INSTALLAPPDIRECTORY\App"
- CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $PluginInstaller "true"
- Abort
- ${EndIf}
- ${EndIf}
- ${ReadINIStrWithDefault} $INTERACTIVEMODE "$EXEDIR\Data\settings.ini" "InstallerWizard" "InteractiveMode" "1"
- WriteINIStr "$PLUGINSDIR\InstallerWizardForm.ini" "Field 3" "State" "$INTERACTIVEMODE"
- InstallOptions::InitDialog /NOUNLOAD "$PLUGINSDIR\InstallerWizardForm.ini"
- Pop $0
- InstallOptions::Show
-FunctionEnd
-
-Function LeaveOptionsWindow
- ;=== Blank
- ReadINIStr $INSTALLAPPDIRECTORY $PLUGINSDIR\InstallerWizardForm.ini "Field 2" "State"
- ReadINIStr $INTERACTIVEMODE "$PLUGINSDIR\InstallerWizardForm.ini" "Field 3" "State"
-
- StrCmp $INSTALLAPPDIRECTORY "" NoInstallAppDirectoryError
- ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\installer.ini"
- StrCpy $PluginInstaller "false"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $PluginInstaller "true"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini"
- CreateDirectory "$INSTALLAPPDIRECTORY\App"
- CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini"
- StrCpy $PluginInstaller "true"
- ${ElseIf} $INTERACTIVEMODE = 1
- ; No AppInfo found
- ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\*.exe"
- ${AndIf} $PluginInstaller != "true"
- Goto NoInstallAppDirectoryError
- ${EndIf}
-
- MessageBox MB_ICONQUESTION|MB_YESNO "The app does not appear to have the necessary files within the App\AppInfo directory required by PortableApps.com Format. Would you like to create the settings interactively and use a set of default icons for now for testing?" IDNO NoInstallAppDirectoryError
-
- ;Find EXE file
- FindFirst $2 $3 "$INSTALLAPPDIRECTORY\*.exe"
- StrCpy $4 0
-
- ${DoWhile} $3 != ""
- StrCpy $5 $3
- IntOp $4 $4 + 1
- FindNext $2 $3
- ${Loop}
- FindClose $2
-
- ${If} $4 > 1
- MessageBox MB_OK|MB_ICONEXCLAMATION `Multiple EXEs were found in the directory you selected. The PortableApps.com Installer can only generate default information for applications with a single EXE. Please review the information at PortableApps.com/development for details on creating the configuration files.`
- Abort
- ${EndIf}
-
- CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon_16.png" "$INSTALLAPPDIRECTORY\App\AppInfo"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon_32.png" "$INSTALLAPPDIRECTORY\App\AppInfo"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon.ico" "$INSTALLAPPDIRECTORY\App\AppInfo"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\appinfo.ini" "$INSTALLAPPDIRECTORY\App\AppInfo"
- WriteINIStr "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" "Format" "Version" "${PORTABLEAPPS.COMFORMATVERSION}"
- WriteINIStr "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" "Control" "Start" "$5"
-
- MessageBox MB_ICONINFORMATION "Before releasing this application, please be sure to create a set of proper icons in App\AppInfo."
- ${Else}
- Goto NoInstallAppDirectoryError
- ${EndIf}
-
- ; Store settings
- WriteINIStr "$EXEDIR\Data\settings.ini" "InstallerWizard" "INSTALLAPPDIRECTORY" $INSTALLAPPDIRECTORY
- WriteINIStr "$EXEDIR\Data\settings.ini" "InstallerWizard" "InteractiveMode" $INTERACTIVEMODE
- Goto EndLeaveOptionsWindow
-
- NoInstallAppDirectoryError:
- MessageBox MB_OK|MB_ICONEXCLAMATION `Please select a valid portable app's base directory to create an installer for.`
- Abort
-
- EndLeaveOptionsWindow:
-FunctionEnd
-
-!define SetIndividualLanguage "!insertmacro SetIndividualLanguage"
-
-!define WriteConfig "!insertmacro WriteConfig"
-
-!macro WriteConfig Variable Value
- FileWriteUTF16LE $0 `!define ${Variable} "${Value}"$\r$\n`
-!macroend
-
-!macro SetIndividualLanguage IndividualLanguage
- StrCpy $2 "${IndividualLanguage}"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "Languages" "$2" "false"
- ${If} $1 == "true"
- ${OrIf} $ALLLANGUAGES == "true"
- ${WriteConfig} USES_$2 "true"
- ${EndIf}
-!macroend
-
-!define WriteErrorToLog "!insertmacro WriteErrorToLog"
-
-!macro WriteErrorToLog ErrorToWrite
- FileOpen $9 "$EXEDIR\Data\PortableApps.comInstallerLog.txt" a
- FileSeek $9 0 END
- FileWriteUTF16LE $9 `ERROR: ${ErrorToWrite}$\r$\n`
- FileClose $9
- StrCpy $ERROROCCURED "true"
-!macroend
-
-!define TransferInstallerINIToConfig "!insertmacro TransferInstallerINIToConfig"
-
-!macro TransferInstallerINIToConfig Section Key Required
- ${ReadINIStrWithDefault} $1 $InstallerINIFile ${Section} ${Key} ""
- ${If} $1 != ""
- ${WriteConfig} ${Key} "$1"
- !if ${Required} == required
- ${Else}
- ${WriteErrorToLog} "Installer.ini - ${Section} - ${Key} is missing."
- !endif
- ${EndIf}
-!macroend
-
-Section Main
- !insertmacro MUI_HEADER_TEXT "PortableApps.com Installer ${FRIENDLYVER}" "the open portable software standard"
- ${TBProgress} 33
- SetDetailsPrint ListOnly
- DetailPrint "App: $INSTALLAPPDIRECTORY"
- DetailPrint " "
- ;FindWindow $0 "#32770" "" $HWNDPARENT
- ;FindWindow $1 "msctls_progress32" "" $0
-
- ;DetailPrint "Hanlde: $1"
- RealProgress::SetProgress /NOUNLOAD 1
- RealProgress::GradualProgress /NOUNLOAD 2 1 90 "Processing complete."
- DetailPrint "Generating installer code..."
- SetDetailsPrint none
-
- ;Ensure the source directory exists
- CreateDirectory "$INSTALLAPPDIRECTORY\Other\Source"
-
- ;Remove any existing installer files (leaving custom intact)
- RMDir /r "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerLanguages"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.ico"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig-EXAMPLE.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerDumpLogToFile.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeader.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerMoveFiles.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerStrRep.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeaderRTL.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerTBProgress.nsh"
-
- ;Copy the current PortableApps.com Installer in
- CopyFiles /SILENT "$EXEDIR\App\installer\*.*" "$INSTALLAPPDIRECTORY\Other\Source"
- ${If} $PluginInstaller == "true"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh"
- ${EndIf}
-
- ;Generate the configuration file
- Delete "$EXEDIR\Data\PortableApps.comInstallerLog.txt"
-
- ;Determine icon type
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Control" "ExtractIcon" ""
- ${If} $1 != ""
- StrCpy $USEEXTRACTEDICON "true"
- ${EndIf}
-
- ;Check for content
- ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\*.exe"
- ${AndIf} $PluginInstaller != "true"
- ${WriteErrorToLog} "No EXE in $INSTALLAPPDIRECTORY."
- ${EndIf}
-
- ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\help.html"
- ${AndIf} $PluginInstaller != "true"
- ${WriteErrorToLog} "No help.html in $INSTALLAPPDIRECTORY."
- ${EndIf}
-
- !macro AppInfoFileMissingAskInsertDefault FileName FileDescription
- ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\${FileName}"
- ${AndIf} $PluginInstaller != "true"
- ${If} $USEEXTRACTEDICON == "true"
- !if ${FileName} == appicon.ico
- ;Copy the default icon in (appicon_*.png don't get included)
- CopyFiles /SILENT "$EXEDIR\App\default_bits\${FileName}" "$INSTALLAPPDIRECTORY\App\AppInfo"
- !endif
- ${ElseIf} $INTERACTIVEMODE = 1
- ${AndIf} ${Cmd} ${|} MessageBox MB_ICONQUESTION|MB_YESNO "The app does not have ${FileDescription} (${FileName}) in the App\AppInfo directory. Would you like to use a default icon for test purposes for now?" IDYES ${|}
- CopyFiles /SILENT "$EXEDIR\App\default_bits\${FileName}" "$INSTALLAPPDIRECTORY\App\AppInfo"
- MessageBox MB_ICONINFORMATION "Before releasing this application, please be sure to create a proper ${FileName} app icon in App\AppInfo."
- ${Else}
- ${WriteErrorToLog} "No ${FileName} in $INSTALLAPPDIRECTORY\App\AppInfo."
- ${EndIf}
- ${EndIf}
- !macroend
-
- !insertmacro AppInfoFileMissingAskInsertDefault appicon_16.png "a 16x16 PNG icon"
- !insertmacro AppInfoFileMissingAskInsertDefault appicon_32.png "a 32x32 PNG icon"
- !insertmacro AppInfoFileMissingAskInsertDefault appicon.ico "an icon"
-
- ${If} $PluginInstaller == "true"
- FileOpen $0 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh" a
- ${Else}
- FileOpen $0 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" a
- ${EndIf}
- FileSeek $0 0 END
- FileWriteUTF16LE $0 `;Code generated by PortableApps.com Installer ${FRIENDLYVER}. DO NOT EDIT.$\r$\n$\r$\n`
-
- ;PortableApps.comFormat Version
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Format" "Version" ""
- ${If} $1 == "0.9.8"
- ;Preserve old installer config in case it's needed
- Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfigOld.nsh"
-
- ;Autogenerate App ID is handled normally when interactive
-
- ;Language selection is handled normally when in interactive
-
- ;This brings it up to 0.90
- StrCpy $1 "0.90"
- ${EndIf}
- ${If} $1 == "0.90"
- ;0.90 to 0.91 needs no changes, so it brings it to 0.91
- StrCpy $1 "0.91"
- ${EndIf}
- ${If} $1 == "0.91"
- ;0.91 to 1.0 needs no changes, so it brings it to 1.0
- StrCpy $1 "1.0"
- ${EndIf}
- ${If} $1 == "1.0"
- ${OrIf} $1 == "2.0"
- ;1.0 to 2.0 needs no changes, so it brings it to 2.0
- WriteINIStr $AppInfoINIFile "Format" "Version" "${PORTABLEAPPS.COMFORMATVERSION}"
- ${EndIf}
-
- !macro GetValueFromAppInfo Section Key Prompt DefaultValue Variable Required
- ReadINIStr ${Variable} $AppInfoINIFile ${Section} ${Key}
- ${If} ${Variable} == ""
- ${If} $INTERACTIVEMODE = 1
- ${InputTextBox} "${APPNAME}" "${Prompt}" "${DefaultValue}" "255" "OK" "Cancel" 9
- ${If} $9 != ""
- StrCpy ${Variable} $9
- WriteINIStr $AppInfoINIFile ${Section} ${Key} $9
- !if ${Required} == required
- ${Else}
- ${WriteErrorToLog} "AppInfo.ini - ${Section} - ${Key} is missing."
- !endif
- ${EndIf}
- !if ${Required} == required
- ${Else}
- ${WriteErrorToLog} "AppInfo.ini - ${Section} - ${Key} is missing."
- !endif
- ${EndIf}
- ${EndIf}
- !macroend
-
- ;App Name
- !insertmacro GetValueFromAppInfo \
- Details \
- Name \
- "Enter the portable app's name (e.g. FileZilla Portable):" \
- "AppName Portable" \
- $PORTABLEAPPNAME \
- required
-
- ${If} $PluginInstaller != "true"
- ${WriteConfig} PORTABLEAPPNAME "$PORTABLEAPPNAME"
- ${WordReplace} $PORTABLEAPPNAME "&" "~~~@@@~~~" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS
- ${WordReplace} $PORTABLEAPPNAMEDOUBLEDAMPERSANDS "~~~@@@~~~" "&&" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS
- ${WriteConfig} PORTABLEAPPNAMEDOUBLEDAMPERSANDS "$PORTABLEAPPNAMEDOUBLEDAMPERSANDS"
- ${EndIf}
-
- ;Plugin Name
- ${If} $PluginInstaller == "true"
- !insertmacro GetValueFromAppInfo \
- Details \
- PluginName \
- "Enter the plugin's name (e.g. Acme Plugin):" \
- "Plugin" \
- $PLUGINNAME \
- required
-
- ${WriteConfig} PLUGINNAME "$PLUGINNAME"
- ${WriteConfig} PORTABLEAPPNAME "$PLUGINNAME"
- ${WordReplace} $PLUGINNAME "&" "~~~@@@~~~" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS
- ${WordReplace} $PORTABLEAPPNAMEDOUBLEDAMPERSANDS "~~~@@@~~~" "&&" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS
- ${WriteConfig} PORTABLEAPPNAMEDOUBLEDAMPERSANDS "$PORTABLEAPPNAMEDOUBLEDAMPERSANDS"
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Details" "PluginType" "App"
- ${If} $1 == "CommonFiles"
- StrCpy $COMMONFILESPLUGIN "true"
- ${WriteConfig} COMMONFILESPLUGIN "true"
- ${EndIf}
- ${EndIf}
-
-
- ;App ID
- ${WordReplace} $PORTABLEAPPNAME " " "" + $8
- ${WordReplace} $8 " " "_" + $8
- ${WordReplace} $8 "(" "" + $8
- ${WordReplace} $8 ")" "" + $8
- ${WordReplace} $8 "[" "" + $8
- ${WordReplace} $8 "]" "" + $8
- ${WordReplace} $8 "~" "-" + $8
- ${WordReplace} $8 "&" "+" + $8
- ${WordReplace} $8 "#" "+" + $8
- ${WordReplace} $8 "$\"" "-" + $8
- ${WordReplace} $8 "*" "+" + $8
- ${WordReplace} $8 "/" "_" + $8
- ${WordReplace} $8 "\" "_" + $8
- ${WordReplace} $8 ":" "." + $8
- ${WordReplace} $8 "<" "-" + $8
- ${WordReplace} $8 ">" "-" + $8
- ${WordReplace} $8 "?" "" + $8
- ${WordReplace} $8 "|" "-" + $8
- ${WordReplace} $8 "=" "-" + $8
- ${WordReplace} $8 "," "." + $8
- ${WordReplace} $8 ";" "." + $8
- !insertmacro GetValueFromAppInfo \
- Details \
- AppID \
- "Enter the portable app's App ID (usually the name with no spaces or symbols):" \
- $8 \
- $APPID \
- required
-
- ${WriteConfig} APPID "$APPID"
- StrCpy $SHORTNAME $APPID
-
- ;Publisher
- !insertmacro GetValueFromAppInfo \
- Details \
- Publisher \
- "Enter the publisher ('App Developer && PortableApps.com' for our apps):" \
- "No Publisher Specified" \
- $1 \
- optional
-
- ;Homepage
- !insertmacro GetValueFromAppInfo \
- Details \
- Homepage \
- "Enter the app's homepage (e.g. portableapps.com):" \
- "example.com" \
- $1 \
- optional
-
- ;Category
- !insertmacro GetValueFromAppInfo \
- Details \
- Category \
- "Enter the app's category *exactly* (Accessibility, Development, Education, Games, Graphics && Pictures, Internet, Music && Video, Office, Operating Systems, Utilities):" \
- "" \
- $1 \
- optional
-
- ;Description
- !insertmacro GetValueFromAppInfo \
- Details \
- Description \
- "Enter the app's description (e.g. Simple FTP program.):" \
- "" \
- $1 \
- optional
-
- ;Language
- !insertmacro GetValueFromAppInfo \
- Details \
- Language \
- "Enter the portable app's language as expected by NSIS (e.g. English or Multilingual):" \
- "English" \
- $APPLANGUAGE \
- optional
- ${If} $APPLANGUAGE == ""
- StrCpy $APPLANGUAGE "English"
- ${EndIf}
-
- !macro GetLicenseValueFromAppInfo Key Prompt
- ReadINIStr $1 $AppInfoINIFile License ${Key}
- ${If} $1 == ""
- ${If} $INTERACTIVEMODE = 1
- ${If} ${Cmd} ${|} MessageBox MB_ICONQUESTION|MB_YESNO "License Question: ${Prompt}" IDYES ${|}
- StrCpy $1 "true"
- ${Else}
- StrCpy $1 "false"
- ${EndIf}
- WriteINIStr $AppInfoINIFile License ${Key} $1
- ${EndIf}
- ${EndIf}
- !macroend
-
- ;License
- !insertmacro GetLicenseValueFromAppInfo Shareable "Can this application be legally shared from one user to another?"
- !insertmacro GetLicenseValueFromAppInfo OpenSource "Is this application 100% open source under an OSI-approved license?"
- !insertmacro GetLicenseValueFromAppInfo Freeware "Is this application freeware (it can be used without payment)?"
- !insertmacro GetLicenseValueFromAppInfo CommercialUse "Can this app be used in a commercial environment?"
-
- ;EULA Version
- ${ReadINIStrWithDefault} $EULAVERSION $AppInfoINIFile "License" "EULAVersion" ""
-
- ;Display Version
- !insertmacro GetValueFromAppInfo \
- Version \
- DisplayVersion \
- "Enter the portable app's display version (e.g. 1.0 or 2.2 Beta 1):" \
- "0.1" \
- $DISPLAYVERSION \
- required
-
- ;Package Version
- !insertmacro GetValueFromAppInfo \
- Version \
- PackageVersion \
- "Enter the portable app's package version as all numbers in the form X.X.X.X (e.g. 1.0.0.0 or 2.2.0.1):" \
- "0.1.0.0" \
- $1 \
- required
-
- ${WriteConfig} VERSION "$1"
-
- ;Filename should only be alpha, numbers as well as: + . - _
- ${If} $PluginInstaller == "true"
- StrCpy $INSTALLERFILENAME "$PLUGINNAME_$DISPLAYVERSION"
- ${Else}
- StrCpy $INSTALLERFILENAME "$APPID_$DISPLAYVERSION"
- ${EndIf}
-
- ${If} $APPLANGUAGE != "Multilingual"
- StrCpy $INSTALLERFILENAME "$INSTALLERFILENAME_$APPLANGUAGE"
- ${EndIf}
-
- ${WordReplace} $INSTALLERFILENAME " " "_" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "(" "" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME ")" "" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "[" "" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "]" "" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "~" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "&" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "#" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "$\"" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "*" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "/" "_" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "\" "_" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME ":" "." + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "<" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME ">" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "?" "" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "|" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "=" "-" + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "," "." + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME ";" "." + $INSTALLERFILENAME
- ${WordReplace} $INSTALLERFILENAME "+" "Plus" + $INSTALLERFILENAME
-
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DownloadURL" ""
- ${If} $1 != ""
- StrCpy $INSTALLERFILENAME "$INSTALLERFILENAME_online"
- ${EndIf}
-
- ${WriteConfig} FILENAME "$INSTALLERFILENAME"
-
-
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Control" "Start" ""
- ${If} $1 == ""
- ${WriteErrorToLog} "AppInfo.ini - Control - Start is missing."
- ${Else}
- ${WriteConfig} FINISHPAGERUN "$1"
- ${EndIf}
- ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\$1"
- ${AndIf} $PluginInstaller != "true"
- ${WriteErrorToLog} "AppInfo.ini - Control - Start=$1, file is missing."
- ${EndIf}
-
- ${ReadINIStrWithDefault} $2 $InstallerINIFile "CheckRunning" "CloseEXE" "$1"
- ${WriteConfig} CHECKRUNNING "$2"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "CheckRunning" "CloseName" "$PORTABLEAPPNAME"
- ${WriteConfig} CLOSENAME "$1"
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "SpecialPaths" "Plugins" "NONE"
- ${WriteConfig} ADDONSDIRECTORYPRESERVE "$1"
- ${WriteConfig} INSTALLERCOMMENTS "For additional details, visit PortableApps.com"
- ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Details" "Trademarks" ""
- ${If} $1 != ""
- StrCpy $1 "$1. "
- ${EndIf}
- ${WriteConfig} INSTALLERADDITIONALTRADEMARKS "$1"
-
- ;Source Code
- ${ReadINIStrWithDefault} $INCLUDESOURCE $InstallerINIFile "Source" "IncludeInstallerSource" "false"
- ${If} $INCLUDESOURCE == "true"
- ${WriteConfig} INCLUDEINSTALLERSOURCE "true"
- ${EndIf}
-
- ;Languages
- ${If} $APPLANGUAGE != "Multilingual"
- ${WriteConfig} INSTALLERLANGUAGE "$APPLANGUAGE"
- ${Else}
- ${WriteConfig} INSTALLERMULTILINGUAL "true"
-
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "Languages" "English" ""
- ${If} $1 == ""
- StrCpy $ALLLANGUAGES "true"
- ${EndIf}
-
- ${SetIndividualLanguage} "ENGLISH"
- ${SetIndividualLanguage} "ENGLISHGB"
- ${SetIndividualLanguage} "AFRIKAANS"
- ${SetIndividualLanguage} "ALBANIAN"
- ${SetIndividualLanguage} "ARABIC"
- ${SetIndividualLanguage} "ARMENIAN"
- ${SetIndividualLanguage} "BASQUE"
- ${SetIndividualLanguage} "BELARUSIAN"
- ${SetIndividualLanguage} "BOSNIAN"
- ${SetIndividualLanguage} "BRETON"
- ${SetIndividualLanguage} "BULGARIAN"
- ${SetIndividualLanguage} "CATALAN"
- ${SetIndividualLanguage} "CROATIAN"
- ${SetIndividualLanguage} "CZECH"
- ${SetIndividualLanguage} "DANISH"
- ${SetIndividualLanguage} "DUTCH"
- ${SetIndividualLanguage} "ESPERANTO"
- ${SetIndividualLanguage} "ESTONIAN"
- ${SetIndividualLanguage} "FARSI"
- ${SetIndividualLanguage} "FINNISH"
- ${SetIndividualLanguage} "FRENCH"
- ${SetIndividualLanguage} "GALICIAN"
- ${SetIndividualLanguage} "GERMAN"
- ${SetIndividualLanguage} "GREEK"
- ${SetIndividualLanguage} "HEBREW"
- ${SetIndividualLanguage} "HUNGARIAN"
- ${SetIndividualLanguage} "ICELANDIC"
- ${SetIndividualLanguage} "INDONESIAN"
- ${SetIndividualLanguage} "IRISH"
- ${SetIndividualLanguage} "ITALIAN"
- ${SetIndividualLanguage} "JAPANESE"
- ${SetIndividualLanguage} "KOREAN"
- ${SetIndividualLanguage} "KURDISH"
- ${SetIndividualLanguage} "LATVIAN"
- ${SetIndividualLanguage} "LITHUANIAN"
- ${SetIndividualLanguage} "LUXEMBOURGISH"
- ${SetIndividualLanguage} "MACEDONIAN"
- ${SetIndividualLanguage} "MALAY"
- ${SetIndividualLanguage} "MONGOLIAN"
- ${SetIndividualLanguage} "NORWEGIAN"
- ${SetIndividualLanguage} "NORWEGIANNYNORSK"
- ${SetIndividualLanguage} "POLISH"
- ${SetIndividualLanguage} "PORTUGUESE"
- ${SetIndividualLanguage} "PORTUGUESEBR"
- ${SetIndividualLanguage} "ROMANIAN"
- ${SetIndividualLanguage} "RUSSIAN"
- ${SetIndividualLanguage} "SERBIAN"
- ${SetIndividualLanguage} "SERBIANLATIN"
- ${SetIndividualLanguage} "SIMPCHINESE"
- ${SetIndividualLanguage} "SLOVAK"
- ${SetIndividualLanguage} "SLOVENIAN"
- ${SetIndividualLanguage} "SPANISH"
- ${SetIndividualLanguage} "SPANISHINTERNATIONAL"
- ${SetIndividualLanguage} "SWEDISH"
- ${SetIndividualLanguage} "THAI"
- ${SetIndividualLanguage} "TRADCHINESE"
- ${SetIndividualLanguage} "TURKISH"
- ${SetIndividualLanguage} "UKRAINIAN"
- ${SetIndividualLanguage} "UZBEK"
- ${SetIndividualLanguage} "WELSH"
- ${EndIf}
-
- ;EULA
- ${If} $PluginInstaller == "true"
- ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.txt"
- ${WriteConfig} LICENSEAGREEMENT "PluginEULA.txt"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.txt"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.txt" "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.txt"
- ${WriteConfig} LICENSEAGREEMENT "PluginEULA.txt"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.rtf"
- ${WriteErrorToLog} "EULA - Other\Source\PluginEULA.rtf is no longer supported. Use App\AppInfo\PluginEULA.txt instead."
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.rtf"
- ${WriteErrorToLog} "EULA - App\AppInfo\PluginEULA.rtf is not supported. Use App\AppInfo\PluginEULA.txt instead."
- ${EndIf}
- ${Else}
- ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.txt"
- ${WriteConfig} LICENSEAGREEMENT "eula.txt"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\EULA.txt"
- Rename "$INSTALLAPPDIRECTORY\Other\Source\EULA.txt" "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.txt"
- ${WriteConfig} LICENSEAGREEMENT "eula.txt"
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\EULA.rtf"
- ${WriteErrorToLog} "EULA - Other\Source\EULA.rtf is no longer supported. Use App\AppInfo\EULA.txt instead."
- ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.rtf"
- ${WriteErrorToLog} "EULA - App\AppInfo\EULA.rtf is not supported. Use App\AppInfo\EULA.txt instead."
- ${EndIf}
- ${EndIf}
-
- ${If} $EULAVERSION != ""
- ${WriteConfig} EULAVERSION "$EULAVERSION"
- ${EndIf}
-
- ;OptionalComponents
- ${ReadINIStrWithDefault} $OPTIONALCOMPONENTS $InstallerINIFile "OptionalComponents" "OptionalComponents" "false"
- ${If} $OPTIONALCOMPONENTS == "true"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "MainSectionTitle" "$PORTABLEAPPNAME (English) [Required]"
- ${WriteConfig} MAINSECTIONTITLE "$1"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "MainSectionDescription" "Install the portable app"
- ${WriteConfig} MAINSECTIONDESCRIPTION "$1"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionTitle" "Additional Languages"
- ${WriteConfig} OPTIONALSECTIONTITLE "$1"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionDescription" "Add multilingual support for this app"
- ${WriteConfig} OPTIONALSECTIONDESCRIPTION "$1"
- ${ReadINIStrWithDefault} $OptionalSectionSelectedInstallType $InstallerINIFile "OptionalComponents" "OptionalSectionSelectedInstallType" "Multilingual"
- ${WriteConfig} OPTIONALSECTIONSELECTEDINSTALLTYPE "$OptionalSectionSelectedInstallType"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionNotSelectedInstallType" "English"
- ${WriteConfig} OPTIONALSECTIONNOTSELECTEDINSTALLTYPE "$1"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionPreSelectedIfNonEnglishInstall" "true"
- ${If} $1 == "true"
- ${WriteConfig} OPTIONALSECTIONPRESELECTEDIFNONENGLISHINSTALL "$1"
- ${EndIf}
-
- ${If} $OptionalSectionSelectedInstallType == "Multilingual"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionInstalledWhenSilent" "false"
- ${Else}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionInstalledWhenSilent" "true"
- ${EndIf}
-
- ${If} $1 == "true"
- ${WriteConfig} OPTIONALSECTIONINSTALLEDWHENSILENT "$1"
- ${EndIf}
- ${EndIf}
-
- ;Main directories
- ${If} $PluginInstaller == "true"
- ${AndIf} $COMMONFILESPLUGIN != "true"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveAppDirectory" "false"
- ${Else}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveAppDirectory" "true"
- ${EndIf}
- ${If} $1 == "true"
- ${WriteConfig} REMOVEAPPDIRECTORY "true"
- ${EndIf}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveDataDirectory" "false"
- ${If} $1 == "true"
- ${WriteConfig} REMOVEDATADIRECTORY "true"
- ${EndIf}
- ${If} $PluginInstaller == "true"
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveOtherDirectory" "false"
- ${Else}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveOtherDirectory" "true"
- ${EndIf}
- ${If} $1 == "true"
- ${WriteConfig} REMOVEOTHERDIRECTORY "true"
- ${EndIf}
-
- ;Preserve directories
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DirectoriesToPreserve" "PreserveDirectory$R1" ""
- ${If} $1 != ""
- ${WriteConfig} PRESERVEDIRECTORY$R1 "$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $R1 > 10
-
- ;Remove directories
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DirectoriesToRemove" "RemoveDirectory$R1" ""
- ${If} $1 != ""
- ${WriteConfig} REMOVEDIRECTORY$R1 "$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $R1 > 10
-
- ;Preserve files
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "FilesToPreserve" "PreserveFile$R1" ""
- ${If} $1 != ""
- ${WriteConfig} PRESERVEFILE$R1 "$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $R1 > 10
-
- ;Remove files
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "FilesToRemove" "RemoveFile$R1" ""
- ${If} $1 != ""
- ${WriteConfig} REMOVEFILE$R1 "$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $R1 > 10
-
- ;Custom code
- ${If} $PluginInstaller == "true"
- StrCpy $9 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginCustom.nsh"
- ${Else}
- StrCpy $9 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerCustom.nsh"
- ${EndIf}
- ${If} ${FileExists} $9
- ${WriteConfig} USESCUSTOMCODE "true"
- ${EndIf}
-
- ;Local Files
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "CopyLocalFiles" "CopyLocalFiles" "false"
- ${If} $1 == "true"
- ${WriteConfig} COPYLOCALFILES "true"
-
- !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegPath -
- !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegKey -
- !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegRemoveDirectories -
- !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromDirectory -
- !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyToDirectory -
- ${EndIf}
-
- ;Download files
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DownloadURL" ""
- ${If} $1 != ""
- StrCpy $2 $1 7
-
- ${If} $2 == "http://"
- ${WriteConfig} DownloadURL "$1"
-
- !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadName required
- !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadFilename required
- !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadMD5 -
- !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadTo -
- !insertmacro TransferInstallerINIToConfig DownloadFiles AdditionalInstallSize required
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "Extract$R1To" ""
- ${If} $1 != ""
- ${If} $1 == ""
- StrCpy $1 ""
- ${EndIf}
- ${WriteConfig} Extract$R1To "$1"
- ${EndIf}
- ${Next}
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "Extract$R1File" ""
- ${If} $1 != ""
- ${WriteConfig} Extract$R1File "$1"
- ${EndIf}
- ${Next}
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "AdvancedExtract$R1To" ""
- ${If} $1 != ""
- ${If} $1 == ""
- StrCpy $1 ""
- ${EndIf}
- ${WriteConfig} AdvancedExtract$R1To "$1"
- ${EndIf}
- ${Next}
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "AdvancedExtract$R1Filter" ""
- ${If} $1 != ""
- ${WriteConfig} AdvancedExtract$R1Filter "$1"
- ${EndIf}
- ${Next}
-
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtractFilename" ""
- ${If} $1 != ""
- ${WriteConfig} DoubleExtractFilename "$1"
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtract$R1To" ""
- ${If} $1 != ""
- ${If} $1 == ""
- StrCpy $1 ""
- ${EndIf}
- ${WriteConfig} DoubleExtract$R1To "$1"
- ${EndIf}
- ${Next}
-
- ${For} $R1 1 10
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtract$R1Filter" ""
- ${If} $1 != ""
- ${WriteConfig} DoubleExtract$R1Filter "$1"
- ${EndIf}
- ${Next}
-
- ${EndIf}
- ${Else}
- ${WriteErrorToLog} "Installer.ini - DownloadFiles - DownloadURL must begin with http://"
- ${EndIf}
- ${EndIf}
-
- FileClose $0
-
- ; If errors have occurred, there's no point in going on to the actual generation of it.
- ${If} $ERROROCCURED != "true"
- ;Make the installer header
- ${If} $USEEXTRACTEDICON == "true"
- ${OrIf} $PluginInstaller == "true"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\PortableApps.comInstallerHeader.bmp" "$INSTALLAPPDIRECTORY\Other\Source"
- CopyFiles /SILENT "$EXEDIR\App\default_bits\PortableApps.comInstallerHeaderRTL.bmp" "$INSTALLAPPDIRECTORY\Other\Source"
- ${Else}
- ExecWait `"$EXEDIR\App\bin\MakeHeader.exe" "$INSTALLAPPDIRECTORY"`
- ${EndIf}
-
- ;Move optional component files
- ${If} $OPTIONALCOMPONENTS == "true"
- CreateDirectory "$INSTALLAPPDIRECTORY\Optional1"
-
- ;Move directories
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalDirectory$R1" "\COMPLETED\"
- ${If} $1 != ""
- ${AndIf} $1 != "\COMPLETED\"
- ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2
- CreateDirectory $2
- Rename "$INSTALLAPPDIRECTORY\$1" "$INSTALLAPPDIRECTORY\Optional1\$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $1 == "\COMPLETED\"
-
- ;Move files
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalFile$R1" "\COMPLETED\"
- ${If} $1 != ""
- ${AndIf} $1 != "\COMPLETED\"
- ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2
- CreateDirectory $2
- ${GetParent} "$INSTALLAPPDIRECTORY\$1" $3
- ${GetFileName} "$INSTALLAPPDIRECTORY\Optional1\$1" $4
- ${MoveFiles} DOS "$4" "$3" "$2"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $1 == "\COMPLETED\"
-
- ${EndIf}
-
- ;Compile the installer
- SetDetailsPrint ListOnly
- ${If} $PluginInstaller == "true"
- DetailPrint "Creating $PLUGINNAME installer..."
- ${Else}
- DetailPrint "Creating $PORTABLEAPPNAME installer..."
- ${EndIf}
- SetDetailsPrint none
- ${TBProgress} 66
-
- ;Delete existing installer if there is one
- ${GetParent} $INSTALLAPPDIRECTORY $0
- Delete "$0\$INSTALLERFILENAME.paf.exe"
- ${If} ${FileExists} "$0\$INSTALLERFILENAME.paf.exe"
- MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to delete file: $0\$INSTALLERFILENAME.paf.exe. Please be sure the file is not in use"
- ${WriteErrorToLog} "Unable to delete file: $0\$INSTALLERFILENAME.paf.exe. Please be sure the file is not in use."
- ${Else}
- SetOutPath "$EXEDIR\App\nsis"
- ${If} $PluginInstaller == "true"
- ExecDos::exec `"$EXEDIR\App\nsis\makensis.exe" /O"$EXEDIR\Data\PortableApps.comInstallerLog.txt" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi"` "" ""
- ${Else}
- ExecDos::exec `"$EXEDIR\App\nsis\makensis.exe" /O"$EXEDIR\Data\PortableApps.comInstallerLog.txt" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi"` "" ""
- ${EndIf}
- ${EndIf}
-
- ;Move optional component files back
- ${If} $OPTIONALCOMPONENTS == "true"
- ;Move directories
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalDirectory$R1" "\COMPLETED\"
- ${If} $1 != ""
- ${AndIf} $1 != "\COMPLETED\"
- Rename "$INSTALLAPPDIRECTORY\Optional1\$1" "$INSTALLAPPDIRECTORY\$1"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $1 == "\COMPLETED\"
-
- ;Move files
- StrCpy $R1 1
- ${Do}
- ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalFile$R1" "\COMPLETED\"
- ${If} $1 != ""
- ${AndIf} $1 != "\COMPLETED\"
- ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2
- ${GetParent} "$INSTALLAPPDIRECTORY\$1" $3
- ${GetFileName} "$INSTALLAPPDIRECTORY\Optional1\$1" $4
- ${MoveFiles} DOS "$4" "$2" "$3"
- ${EndIf}
- IntOp $R1 $R1 + 1
- ${LoopUntil} $1 == "\COMPLETED\"
-
- RMDir /r "$INSTALLAPPDIRECTORY\Optional1"
- ${EndIf}
- ${EndIf}
-
- ; Done
- SetDetailsPrint ListOnly
- DetailPrint " "
- DetailPrint "Processing complete."
-
- ${If} ${FileExists} "$0\$INSTALLERFILENAME.paf.exe"
- ${AndIf} $ERROROCCURED != "true"
- StrCpy $FINISHTITLE "Installer Created"
- StrCpy $FINISHTEXT "The installer has been created. Installer location:\r\n$0\r\n\r\nInstaller name:\r\n$INSTALLERFILENAME.paf.exe"
- ${Else}
- StrCpy $FINISHTITLE "An Error Occured"
- StrCpy $FINISHTEXT "The installer was not created. You can view the log file for more information."
- StrCpy $ERROROCCURED "true"
- ${EndIf}
-
- SetDetailsPrint none
- ;Remove the installer files if not included
- ${If} $INCLUDESOURCE != "true"
- ${AndIf} $ERROROCCURED != "true"
- RMDir /r "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerLanguages\"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.ico"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerDumpLogToFile.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeader.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeaderRTL.bmp"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerMoveFiles.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh"
- Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerTBProgress.nsh"
- ${EndIf}
-
- ;Remove the Source and Other directories if empty
- RMDir "$INSTALLAPPDIRECTORY\Other\Source"
- RMDir "$INSTALLAPPDIRECTORY\Other"
- ${TBProgress_State} NoProgress
-SectionEnd
-
-Function ShowFinishPage
- ${If} $AUTOMATICCOMPILE == "true"
- ${AndIf} $ERROROCCURED != "true"
- Abort
- ${ElseIf} $ERROROCCURED == "true"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Flags" "DISABLED"
- !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1"
- ${EndIf}
-FunctionEnd
-
-Function RunOnFinish
- Exec `"$0\$INSTALLERFILENAME.paf.exe"`
-FunctionEnd
-
-Function .onGUIEnd
- RealProgress::Unload
-FunctionEnd
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini b/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini
deleted file mode 100644
index 3f3bc0b01..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt b/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt
deleted file mode 100644
index d6a3987f4..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt
+++ /dev/null
@@ -1,344 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
-PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED
-IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
-EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY
-AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
-AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY
-OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM
-AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
-ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
-(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
-OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C) 19yy
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
- Gnomovision version 69, Copyright (C) 19yy name of author
- Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary. Here is a sample; alter the names:
-
- Yoyodyne, Inc., hereby disclaims all copyright interest in the program
- `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
- , 1 April 1989
- Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs. If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library. If this is what you want to do, use the GNU Library General
-Public License instead of this License.
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh
deleted file mode 100644
index 451ab65ee..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh
+++ /dev/null
@@ -1,104 +0,0 @@
-; Copyright (c) 2008, Harold E Austin Jr
-; All rights reserved.
-;
-; Redistribution and use in source and binary forms, with or without
-; modification, are permitted provided that the following conditions are met:
-; * Redistributions of source code must retain the above copyright
-; notice, this list of conditions and the following disclaimer.
-; * Redistributions in binary form must reproduce the above copyright
-; notice, this list of conditions and the following disclaimer in the
-; documentation and/or other materials provided with the distribution.
-; * Neither the name of the organization nor the
-; names of its contributors may be used to endorse or promote products
-; derived from this software without specific prior written permission.
-;
-; THIS SOFTWARE IS PROVIDED BY Harold E Austin Jr ``AS IS'' AND ANY
-; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-; DISCLAIMED. IN NO EVENT SHALL Harold E Austin Jr BE LIABLE FOR ANY
-; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-/*
- MoveFiles.nsh -- version 1.0 (May 5, 2008)
- move files matching "filespec" from "source-directory" to "destination-directory"
-
- usage:
- !include MoveFiles.nsh
-
- ${MoveFiles} mode "filespec" "source-directory" "destination-directory"
-
- where:
- mode can be DOS, DIR, FORCE or DIR+FORCE (anything else = DOS):
- DOS means act like the DOS MOVE command (move only files)
- DIR means move files AND directories
- FORCE means overwrite destination files (like MOVE/Y)
-
- example:
- CreateDirectory "C:\NEW\DIR"
- DetailPrint "Moving files and directories..."
- ${MoveFiles} DIR+FORCE "*" "C:\OLD\DIR" "C:\NEW\DIR"
- DetailPrint `"Processing"...`
- Sleep 2000
- DetailPrint "Moving only the files back..."
- ${MoveFiles} DOS "*" "C:\NEW\DIR" "C:\OLD\DIR"
- DetailPrint "Moving the directories back..."
- ${MoveFiles} DIR "*" "C:\NEW\DIR" "C:\OLD\DIR"
-*/
-!ifndef MoveFiles
-!define MoveFiles "!insertmacro MoveFiles"
-!macro MoveFiles mode filespec sourcedir destdir
- push `${destdir}`
- push `${sourcedir}`
- push `${filespec}`
- push `${mode}`
- call MoveFiles
-!macroend
-
-Function MoveFiles ; mode filespec sourcedir destdir
- Exch $0 ; mode, directory mode
- Exch
- Exch $1 ; filespec, force mode
- Exch 2
- Exch $2 ; source directory
- Exch 3
- Exch $3 ; destination directory
- Push $4 ; FindFirst/FindNext search handle
- Push $5 ; current filename matching filespec in sourcedir
- FindFirst $4 $5 "$2\$1"
- StrCpy $1 "" ; FORCE mode disabled by default
- StrCmp $0 FORCE 0 +2
- StrCpy $1 FORCE
- StrCmp $0 DIR+FORCE 0 +3
- StrCpy $0 DIR
- StrCpy $1 FORCE
- loop:
- StrCmp $5 "" done ; $5 == "", if no more matching files
- StrCmp $5 . next
- StrCmp $5 .. next
- StrCmp $0 DIR +2
- ; DIR mode disabled: ignore directories that match ${filespec}
- IfFileExists "$2\$5\*.*" next
- StrCmp $1 FORCE 0 +4
- ; FORCE mode: make sure destination doesn't exist
- Delete "$3\$5"
- StrCmp $0 DIR 0 +2
- RMDir /R "$3\$5"
- Rename "$2\$5" "$3\$5"
- next:
- FindNext $4 $5
- Goto loop
- done:
- FindClose $4 ; finished with this search; close handle
- Pop $5
- Pop $4
- Pop $3
- Pop $0
- Pop $1
- Pop $2
-FunctionEnd
-!endif
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh
deleted file mode 100644
index 2d3b3a10b..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh
+++ /dev/null
@@ -1,55 +0,0 @@
-; ReadINIStrWithDefault 1.1 (2009-05-12)
-;
-; Substitutes a default value if the INI is undefined
-; Copyright 2008-2009 John T. Haller of PortableApps.com
-; Released under the BSD
-;
-; Usage: ${ReadINIStrWithDefault} OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE
-;
-; History:
-; 1.1 (2009-05-12): Fixed error with $0 and $2 being swapped
-
-Function ReadINIStrWithDefault
- ;Start with a clean slate
- ClearErrors
-
- ;Get our parameters
- Exch $0 ;DEFAULT_VALUE
- Exch
- Exch $1 ;ENTRY_NAME
- Exch 2
- Exch $2 ;SECTION_NAME
- Exch 3
- Exch $3 ;INI_FILENAME
- Push $4 ;OUTPUT_VALUE
-
- ;Read from the INI
- ReadINIStr $4 $3 $2 $1
- IfErrors 0 +3
- StrCpy $4 $0
- ClearErrors
-
- ;Keep the variable for last
- StrCpy $0 $4
-
- ;Clear the stack
- Pop $4
- Pop $3
- Exch 2
- Pop $2
- Pop $1
-
- ;Reset the last variable and leave our result on the stack
- Exch $0
-FunctionEnd
-
-!macro ReadINIStrWithDefault OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE
- Push `${INI_FILENAME}`
- Push `${SECTION_NAME}`
- Push `${ENTRY_NAME}`
- Push `${DEFAULT_VALUE}`
- Call ReadINIStrWithDefault
- Pop `${OUTPUT_VALUE}`
-!macroend
-
-!define ReadINIStrWithDefault '!insertmacro "ReadINIStrWithDefault"'
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt b/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt
deleted file mode 100644
index c725c6ea3..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt
+++ /dev/null
@@ -1,41 +0,0 @@
-PortableApps.com Installer
-==========================
-Copyright 2006-2009 John T. Haller
-
-Website: http://PortableApps.com/Installer
-
-This software is OSI Certified Open Source Software.
-OSI Certified is a certification mark of the Open Source Initiative.
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-About PortableApps.com Installer
-================================
-PortableApps.com Installer allows you to easily package apps in PortableApps.com
-Format as a PortableApps.com Installer.
-
-
-LICENSE
-=======
-This code is released under the GPL. Within the Other\Source directory
-you will find the code as well as the full GPL license (License.txt). If you use the
-code in your own product, please give proper and prominent attribution.
-
-
-PortableApps.com Installer CONFIGURATION
-========================================
-Configuration options are included in the appropriate appinfo.ini and installer.ini
-files in the app's AppInfo directory as detailed at PortableApps.com/development
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh
deleted file mode 100644
index 7fa976961..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh
+++ /dev/null
@@ -1,59 +0,0 @@
-!include "LogicLib.nsh"
-
-!ifndef CLSCTX_INPROC_SERVER
- !define CLSCTX_INPROC_SERVER 1
-!endif
-
-!define CLSID_ITaskbarList {56fdf344-fd6d-11d0-958a-006097c9a090}
-
-!define IID_ITaskbarList3 {ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf}
-!define ITaskbarList3->SetProgressState $ITaskbarList3->10
-!define ITaskbarList3->SetProgressValue $ITaskbarList3->9
-
-!define TBPF_NOPROGRESS 0x00000000 ; Normal state / no progress bar
-!define TBPF_INDETERMINATE 0x00000001 ; Marquee style progress bar
-!define TBPF_NORMAL 0x00000002 ; Standard progress bar
-!define TBPF_ERROR 0x00000004 ; Red taskbar button to indicate an error occurred
-!define TBPF_PAUSED 0x00000008 ; Yellow taskbar button to indicate user attention
- ; (input) is required to resume progress
-
-Var ITaskbarList3
-
-!macro TBProgress_Init
- !ifndef TBProgressInitialized
- !define TBProgressInitialized
- ${Unless} ${Silent}
- System::Call "ole32::CoCreateInstance( \
- g '${CLSID_ITaskbarList}', \
- i 0, \
- i ${CLSCTX_INPROC_SERVER}, \
- g '${IID_ITaskbarList3}', \
- *i .s)"
- Pop $ITaskbarList3
- ${Else}
- StrCpy $ITaskbarList3 0
- ${EndIf}
- !endif
-!macroend
-!define TBProgress_Init `!insertmacro TBProgress_Init`
-
-!macro TBProgress_Progress Val Max
- ${TBProgress_Init}
- ${If} $ITaskbarList3 <> 0
- System::Call "${ITaskbarList3->SetProgressValue}(i$HWNDPARENT, l${Val}, l${Max})"
- ${EndIf}
-!macroend
-!define TBProgress_Progress `!insertmacro TBProgress_Progress`
-
-!macro TBProgress Val
- ${TBProgress_Progress} ${Val} 100
-!macroend
-!define TBProgress `!insertmacro TBProgress`
-
-!macro TBProgress_State State
- ${TBProgress_Init}
- ${If} $ITaskbarList3 <> 0
- System::Call "${ITaskbarList3->SetProgressState}(i$HWNDPARENT, i${TBPF_${State}})"
- ${EndIf}
-!macroend
-!define TBProgress_State `!insertmacro TBProgress_State`
\ No newline at end of file
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp
deleted file mode 100644
index 46414e810..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp
deleted file mode 100644
index 25b91490b..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp
deleted file mode 100644
index 220f605c3..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe b/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe
deleted file mode 100644
index ce6cb438a..000000000
Binary files a/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe and /dev/null differ
diff --git a/Greenshot/tools/PortableApps.comInstaller/help.html b/Greenshot/tools/PortableApps.comInstaller/help.html
deleted file mode 100644
index d4fe83fe2..000000000
--- a/Greenshot/tools/PortableApps.comInstaller/help.html
+++ /dev/null
@@ -1,175 +0,0 @@
-
-PortableApps.com Installer Help
-
-
-
-
-
-
-
-
PortableApps.com Installer Help
-
package your portable apps right
-
PortableApps.com Installer compiles PortableApps.com Format apps into easy-to-use installers. They're small, easy to use, automatically work with the PortableApps.com Platform and require no coding or compiling.
-Learn more about the PortableApps.com Installer...
-
- - Support PortableApps.com's Hosting and Development
-
-