Added MakeNsisW GUID generator command

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@7171 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2020-04-21 18:53:55 +00:00
parent 2e2dffb80d
commit 0c6e41bad0
7 changed files with 21 additions and 6 deletions

View file

@ -208,6 +208,8 @@ Version History
- Added log window colors - Added log window colors
- Basic AppEvents custom sound support for BuildComplete, BuildWarning and BuildError - Basic AppEvents custom sound support for BuildComplete, BuildWarning and BuildError
2.3.6
- Added GUID generator tool
Copyright Information Copyright Information
--------------------- ---------------------

View file

@ -58,7 +58,7 @@ BuildUtil(
res = res, res = res,
resources = resources, resources = resources,
entry = None, entry = None,
defines = ['RELEASE=2.3.5'], defines = ['RELEASE=2.3.6'],
docs = docs, docs = docs,
root_util = True root_util = True
) )

View file

@ -690,6 +690,17 @@ INT_PTR CALLBACK DialogProc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam
extern int ShowWndSpy(HWND hOwner); extern int ShowWndSpy(HWND hOwner);
return ShowWndSpy(g_sdata.hwnd); return ShowWndSpy(g_sdata.hwnd);
} }
case IDM_GUIDGEN:
{
GUID guid;
TCHAR buf[41 * (1 + (sizeof(TCHAR) < 2))];
FARPROC func = GetKeyState(VK_CONTROL) < 0 ? GetSysProcAddr("RPCRT4", "UuidCreateSequential") : NULL;
((HRESULT(WINAPI*)(GUID*))(func ? func : GetSysProcAddr("RPCRT4", "UuidCreate")))(&guid);
((int(WINAPI*)(GUID*, TCHAR*, int))(GetSysProcAddr("OLE32", "StringFromGUID2")))(&guid, buf, 39);
for (UINT i = 0; sizeof(TCHAR) < 2; ++i) if (!(buf[i] = (CHAR) ((WCHAR*)buf)[i])) break; // WCHAR to TCHAR if ANSI
LogMessage(g_sdata.hwnd, (buf[38] = '\r', buf[39] = '\n', buf[40] = '\0', buf));
break;
}
case IDM_TEST: case IDM_TEST:
case IDC_TEST: case IDC_TEST:
{ {

View file

@ -44,9 +44,9 @@
#define NSIS_UC_URL "http://nsis.sourceforge.net/update.php?version=" #define NSIS_UC_URL "http://nsis.sourceforge.net/update.php?version="
#define NSIS_DL_URL "http://nsis.sourceforge.net/download/" #define NSIS_DL_URL "http://nsis.sourceforge.net/download/"
#ifdef UNICODE #ifdef UNICODE
#define USAGE _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"") #define USAGE _T("Usage:\r\n\r\n \x2022 File \x203a Load Script...\r\n \x2022 Drag the .nsi file into this window\r\n \x2022 Right click the .nsi file and choose \"Compile NSIS Script\"\r\n")
#else #else
#define USAGE _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"") #define USAGE _T("Usage:\r\n\r\n - File | Load Script...\r\n - Drag the .nsi file into this window\r\n - Right click the .nsi file and choose \"Compile NSIS Script\"\r\n")
#endif #endif
#define COPYRIGHT _T("Copyright (C) 2002 Robert Rainwater") #define COPYRIGHT _T("Copyright (C) 2002 Robert Rainwater")
#define CONTRIB _T("Fritz Elfert, Justin Frankel, Amir Szekely, Sunil Kamath, Joost Verburg, Anders Kjersem") #define CONTRIB _T("Fritz Elfert, Justin Frankel, Amir Szekely, Sunil Kamath, Joost Verburg, Anders Kjersem")

View file

@ -126,6 +126,7 @@
#define IDM_COPY 537 #define IDM_COPY 537
#define IDM_UI_SWITCHOWNEDWINDOW 538 // Alt+F6 #define IDM_UI_SWITCHOWNEDWINDOW 538 // Alt+F6
#define IDM_UI_SWITCHSECTION 539 // F6 #define IDM_UI_SWITCHSECTION 539 // F6
#define IDM_GUIDGEN 540
// Next default values for new objects // Next default values for new objects
@ -133,7 +134,7 @@
#ifdef APSTUDIO_INVOKED #ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 138 #define _APS_NEXT_RESOURCE_VALUE 138
#define _APS_NEXT_COMMAND_VALUE 540 #define _APS_NEXT_COMMAND_VALUE 541
#define _APS_NEXT_CONTROL_VALUE 241 #define _APS_NEXT_CONTROL_VALUE 241
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_SYMED_VALUE 101
#endif #endif

View file

@ -111,6 +111,7 @@ BEGIN
MENUITEM "&Settings\tCtrl+S", IDM_SETTINGS MENUITEM "&Settings\tCtrl+S", IDM_SETTINGS
MENUITEM "", -1, MFT_SEPARATOR MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "&Window Info", IDM_WNDSPY MENUITEM "&Window Info", IDM_WNDSPY
MENUITEM "Generate &GUID", IDM_GUIDGEN
MENUITEM "", -1, MFT_SEPARATOR MENUITEM "", -1, MFT_SEPARATOR
MENUITEM "Clear Recent &Files List", IDM_CLEAR_MRU_LIST MENUITEM "Clear Recent &Files List", IDM_CLEAR_MRU_LIST
END END

View file

@ -295,7 +295,7 @@ void EnableDisableItems(HWND hwnd, int on)
static const PACKEDCMDID_T cmds [] = { static const PACKEDCMDID_T cmds [] = {
PACKCMDID(IDM_EXIT), PACKCMDID(IDM_LOADSCRIPT), PACKCMDID(IDM_EDITSCRIPT), PACKCMDID(IDM_EXIT), PACKCMDID(IDM_LOADSCRIPT), PACKCMDID(IDM_EDITSCRIPT),
PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG), PACKCMDID(IDM_SAVE), PACKCMDID(IDM_CLEARLOG), PACKCMDID(IDM_GUIDGEN),
PACKCMDID(IDM_COMPRESSOR), PACKCMDID(IDM_COMPRESSOR_SUBMENU), PACKCMDID(IDM_COMPRESSOR), PACKCMDID(IDM_COMPRESSOR_SUBMENU),
PACKCMDID(IDM_RECOMPILE), PACKCMDID(IDM_RECOMPILE_TEST) PACKCMDID(IDM_RECOMPILE), PACKCMDID(IDM_RECOMPILE_TEST)
}; };
@ -362,7 +362,7 @@ void CompileNSISScript() {
ClearLog(g_sdata.hwnd); ClearLog(g_sdata.hwnd);
SetTitle(g_sdata.hwnd,NULL); SetTitle(g_sdata.hwnd,NULL);
PostMessage(g_sdata.hwnd, WM_MAKENSIS_UPDATEUISTATE, 0, 0); PostMessage(g_sdata.hwnd, WM_MAKENSIS_UPDATEUISTATE, 0, 0);
if (lstrlen(g_sdata.script)==0) { if (!g_sdata.script[0]) {
LogMessage(g_sdata.hwnd,USAGE); LogMessage(g_sdata.hwnd,USAGE);
SetUIState_NoScript(); SetUIState_NoScript();
DragAcceptFiles(g_sdata.hwnd,TRUE); DragAcceptFiles(g_sdata.hwnd,TRUE);