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
- Basic AppEvents custom sound support for BuildComplete, BuildWarning and BuildError
2.3.6
- Added GUID generator tool
Copyright Information
---------------------

View file

@ -58,7 +58,7 @@ BuildUtil(
res = res,
resources = resources,
entry = None,
defines = ['RELEASE=2.3.5'],
defines = ['RELEASE=2.3.6'],
docs = docs,
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);
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 IDC_TEST:
{

View file

@ -44,9 +44,9 @@
#define NSIS_UC_URL "http://nsis.sourceforge.net/update.php?version="
#define NSIS_DL_URL "http://nsis.sourceforge.net/download/"
#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
#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
#define COPYRIGHT _T("Copyright (C) 2002 Robert Rainwater")
#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_UI_SWITCHOWNEDWINDOW 538 // Alt+F6
#define IDM_UI_SWITCHSECTION 539 // F6
#define IDM_GUIDGEN 540
// Next default values for new objects
@ -133,7 +134,7 @@
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#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_SYMED_VALUE 101
#endif

View file

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

View file

@ -295,7 +295,7 @@ void EnableDisableItems(HWND hwnd, int on)
static const PACKEDCMDID_T cmds [] = {
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_RECOMPILE), PACKCMDID(IDM_RECOMPILE_TEST)
};
@ -362,7 +362,7 @@ void CompileNSISScript() {
ClearLog(g_sdata.hwnd);
SetTitle(g_sdata.hwnd,NULL);
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);
SetUIState_NoScript();
DragAcceptFiles(g_sdata.hwnd,TRUE);