mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 8.2.2822: MS-Windows: unnessarily loading libraries when unregistering
Problem: MS-Windows: unnessarily loading libraries when unregistering OLE. Solution: Also skip loading libraries when invoked with "-unregister". Run Vim for README.txt with user privileges.
This commit is contained in:
@@ -66,6 +66,9 @@ To build the installable .exe:
|
|||||||
|
|
||||||
Install NSIS if you didn't do that already.
|
Install NSIS if you didn't do that already.
|
||||||
Also install UPX, if you want a compressed file.
|
Also install UPX, if you want a compressed file.
|
||||||
|
Download and include the ShellExecAsUser.dll Unicode version which can be
|
||||||
|
sourced from: https://nsis.sourceforge.io/ShellExecAsUser_plug-in
|
||||||
|
|
||||||
|
|
||||||
Unpack the images:
|
Unpack the images:
|
||||||
cd nsis
|
cd nsis
|
||||||
|
@@ -119,9 +119,9 @@ RequestExecutionLevel highest
|
|||||||
|
|
||||||
!define MUI_COMPONENTSPAGE_SMALLDESC
|
!define MUI_COMPONENTSPAGE_SMALLDESC
|
||||||
!define MUI_LICENSEPAGE_CHECKBOX
|
!define MUI_LICENSEPAGE_CHECKBOX
|
||||||
!define MUI_FINISHPAGE_RUN "$0\gvim.exe"
|
!define MUI_FINISHPAGE_RUN
|
||||||
|
!define MUI_FINISHPAGE_RUN_FUNCTION LaunchApplication
|
||||||
!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
|
!define MUI_FINISHPAGE_RUN_TEXT $(str_show_readme)
|
||||||
!define MUI_FINISHPAGE_RUN_PARAMETERS "-R $\"$0\README.txt$\""
|
|
||||||
|
|
||||||
# This adds '\Vim' to the user choice automagically. The actual value is
|
# This adds '\Vim' to the user choice automagically. The actual value is
|
||||||
# obtained below with CheckOldVim.
|
# obtained below with CheckOldVim.
|
||||||
@@ -300,6 +300,11 @@ Function CheckOldVim
|
|||||||
Exch $0 # put $0 on top of stack, restore $0 to original value
|
Exch $0 # put $0 on top of stack, restore $0 to original value
|
||||||
FunctionEnd
|
FunctionEnd
|
||||||
|
|
||||||
|
Function LaunchApplication
|
||||||
|
SetOutPath $0
|
||||||
|
ShellExecAsUser::ShellExecAsUser "" "$0\gvim.exe" "-R $"$0\README.txt$""
|
||||||
|
FunctionEnd
|
||||||
|
|
||||||
##########################################################
|
##########################################################
|
||||||
Section "$(str_section_old_ver)" id_section_old_ver
|
Section "$(str_section_old_ver)" id_section_old_ver
|
||||||
SectionIn 1 2 3 RO
|
SectionIn 1 2 3 RO
|
||||||
|
@@ -162,9 +162,10 @@ main
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#ifdef MSWIN
|
#ifdef MSWIN
|
||||||
// Need to find "-register" before loading any libraries.
|
// Need to find "-register" and "-unregister" before loading any libraries.
|
||||||
for (i = 1; i < argc; ++i)
|
for (i = 1; i < argc; ++i)
|
||||||
if (STRICMP(argv[i] + 1, "register") == 0
|
if ((STRICMP(argv[i] + 1, "register") == 0
|
||||||
|
|| STRICMP(argv[i] + 1, "unregister") == 0)
|
||||||
&& (argv[i][0] == '-' || argv[i][0] == '/'))
|
&& (argv[i][0] == '-' || argv[i][0] == '/'))
|
||||||
{
|
{
|
||||||
found_register_arg = TRUE;
|
found_register_arg = TRUE;
|
||||||
|
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
2822,
|
||||||
/**/
|
/**/
|
||||||
2821,
|
2821,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user