mirror of
https://github.com/LegacyUpdate/LegacyUpdate.git
synced 2025-01-22 06:01:50 -05:00
Implement installing dual 32 and 64-bit binaries on amd64
This commit is contained in:
parent
ec828b40cf
commit
80f20293b0
12 changed files with 305 additions and 99 deletions
|
@ -17,16 +17,16 @@ Global
|
|||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|Win32.ActiveCfg = Debug-VC08|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|Win32.Build.0 = Debug-VC08|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.ActiveCfg = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.Build.0 = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.ActiveCfg = Debug-VC17|x64
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC08|x64.Build.0 = Debug-VC17|x64
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|Win32.ActiveCfg = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|Win32.Build.0 = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.ActiveCfg = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.Build.0 = Debug-VC17|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.ActiveCfg = Debug-VC17|x64
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Debug-VC17|x64.Build.0 = Debug-VC17|x64
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|Win32.ActiveCfg = Release|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|Win32.Build.0 = Release|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.ActiveCfg = Release|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.Build.0 = Release|Win32
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.ActiveCfg = Release|x64
|
||||
{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}.Release|x64.Build.0 = Release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<applications xmlns="http://schemas.microsoft.com/windows/cpltasks/v1" xmlns:sh="http://schemas.microsoft.com/windows/tasks/v1">
|
||||
<application id="{FFBE8D44-E9CF-4DD8-9FD6-976802C94D9C}">
|
||||
<sh:task id="{9943E8C8-748D-47CE-AE10-9FA4A80ED28B}" needsElevation="true">
|
||||
<sh:name>@"%ProgramFiles(x86)%\Legacy Update\LegacyUpdate.dll",-3</sh:name>
|
||||
<sh:keywords>legacy update;legacyupdate;update;windows;microsoft;driver;security;software;</sh:keywords>
|
||||
<sh:command>%windir%\system32\rundll32.exe "%ProgramFiles(x86)%\Legacy Update\LegacyUpdate.dll",LaunchUpdateSite</sh:command>
|
||||
</sh:task>
|
||||
|
||||
<category id="5">
|
||||
<sh:task idref="{9943E8C8-748D-47CE-AE10-9FA4A80ED28B}" />
|
||||
</category>
|
||||
|
||||
<category id="10">
|
||||
<sh:task idref="{9943E8C8-748D-47CE-AE10-9FA4A80ED28B}" />
|
||||
</category>
|
||||
</application>
|
||||
</applications>
|
|
@ -96,27 +96,12 @@ void CALLBACK LaunchUpdateSite(HWND hwnd, HINSTANCE hinstance, LPSTR lpszCmdLine
|
|||
goto end;
|
||||
}
|
||||
|
||||
// Get the OS Version Information and the System Information
|
||||
// This is done to allow us to workaround behavior in Windows Server 2003 x64 and Windows XP x64,
|
||||
// where CLSCTX_ACTIVATE_32_BIT_SERVER is needed when activating the COM interface. This causes
|
||||
// issues on 32-bit XP and 2000 though, and newer versions of Windows do not require it.
|
||||
DWORD contextFlags = CLSCTX_LOCAL_SERVER;
|
||||
OSVERSIONINFOEX* versionInfo = GetVersionInfo();
|
||||
if (versionInfo->dwMajorVersion == 5) {
|
||||
SYSTEM_INFO systemInfo;
|
||||
GetSystemInfo(&systemInfo);
|
||||
if (systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) {
|
||||
// Server 2003 x64 and XP x64 specific quirk
|
||||
contextFlags |= CLSCTX_ACTIVATE_32_BIT_SERVER;
|
||||
}
|
||||
}
|
||||
|
||||
// Spawn an IE window via the COM interface. This ensures the page opens in IE (ShellExecute uses
|
||||
// default browser), and avoids hardcoding a path to iexplore.exe. Also conveniently allows testing
|
||||
// on Windows 11 (iexplore.exe redirects to Edge, but COM still works). Same strategy as used by
|
||||
// Wupdmgr.exe and Muweb.dll,LaunchMUSite.
|
||||
IWebBrowser2 *browser;
|
||||
result = CoCreateInstance(CLSID_InternetExplorer, NULL, contextFlags, IID_IWebBrowser2, (void **)&browser);
|
||||
result = CoCreateInstance(CLSID_InternetExplorer, NULL, CLSCTX_LOCAL_SERVER, IID_IWebBrowser2, (void **)&browser);
|
||||
if (!SUCCEEDED(result)) {
|
||||
goto end;
|
||||
}
|
||||
|
|
|
@ -126,8 +126,7 @@ IDR_LEGACYUPDATECTRL REGISTRY "LegacyUpdateCtrl.rgs"
|
|||
// XML
|
||||
//
|
||||
|
||||
IDR_CPLTASKS32 XML "CplTasks32.xml"
|
||||
IDR_CPLTASKS64 XML "CplTasks64.xml"
|
||||
IDR_CPLTASKS XML "CplTasks.xml"
|
||||
|
||||
#endif // English (United States) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug-VC08|x64">
|
||||
<Configuration>Debug-VC08</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-VC17|Win32">
|
||||
<Configuration>Debug-VC17</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
|
@ -9,10 +13,18 @@
|
|||
<Configuration>Debug-VC08</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug-VC17|x64">
|
||||
<Configuration>Debug-VC17</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{95F3E1A1-5DDA-4C4D-B52B-981D46E6C98B}</ProjectGuid>
|
||||
|
@ -28,12 +40,25 @@
|
|||
<PlatformToolset>v90</PlatformToolset>
|
||||
<UseOfAtl>Dynamic</UseOfAtl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v90</PlatformToolset>
|
||||
<UseOfAtl>Dynamic</UseOfAtl>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
|
@ -43,31 +68,61 @@
|
|||
<UseOfAtl>Static</UseOfAtl>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<PlatformToolset>v141_xp</PlatformToolset>
|
||||
<UseOfAtl>Static</UseOfAtl>
|
||||
<UseOfMfc>Static</UseOfMfc>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
<TargetExt>.dll</TargetExt>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
|
@ -107,6 +162,43 @@
|
|||
<Command>cmd /c start "" taskkill /im iexplore.exe</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ModuleDefinitionFile>.\LegacyUpdate.def</ModuleDefinitionFile>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<GenerateStublessProxies>true</GenerateStublessProxies>
|
||||
<TypeLibraryName>$(IntDir)LegacyUpdate.tlb</TypeLibraryName>
|
||||
<HeaderFileName>LegacyUpdate_i.h</HeaderFileName>
|
||||
<DllDataFileName>
|
||||
</DllDataFileName>
|
||||
<InterfaceIdentifierFileName>LegacyUpdate_i.c</InterfaceIdentifierFileName>
|
||||
<ProxyFileName>LegacyUpdate_p.c</ProxyFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command>cmd /c start "" taskkill /im iexplore.exe</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
|
@ -146,6 +238,43 @@
|
|||
<Command>cmd /c start "" taskkill /im iexplore.exe</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;_DEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<ModuleDefinitionFile>.\LegacyUpdate.def</ModuleDefinitionFile>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<GenerateStublessProxies>true</GenerateStublessProxies>
|
||||
<TypeLibraryName>$(IntDir)LegacyUpdate.tlb</TypeLibraryName>
|
||||
<HeaderFileName>LegacyUpdate_i.h</HeaderFileName>
|
||||
<DllDataFileName>
|
||||
</DllDataFileName>
|
||||
<InterfaceIdentifierFileName>LegacyUpdate_i.c</InterfaceIdentifierFileName>
|
||||
<ProxyFileName>LegacyUpdate_p.c</ProxyFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
<PostBuildEvent>
|
||||
<Command>
|
||||
</Command>
|
||||
</PostBuildEvent>
|
||||
<PreBuildEvent>
|
||||
<Command>cmd /c start "" taskkill /im iexplore.exe</Command>
|
||||
</PreBuildEvent>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
|
@ -184,6 +313,42 @@
|
|||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;_WINDOWS;NDEBUG;_USRDLL;_MERGE_PROXYSTUB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<ModuleDefinitionFile>.\LegacyUpdate.def</ModuleDefinitionFile>
|
||||
<OutputFile>$(OutDir)$(ProjectName).dll</OutputFile>
|
||||
<AdditionalDependencies>
|
||||
</AdditionalDependencies>
|
||||
</Link>
|
||||
<Midl>
|
||||
<PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<MkTypLibCompatible>false</MkTypLibCompatible>
|
||||
<GenerateStublessProxies>true</GenerateStublessProxies>
|
||||
<TypeLibraryName>$(IntDir)LegacyUpdate.tlb</TypeLibraryName>
|
||||
<HeaderFileName>LegacyUpdate_i.h</HeaderFileName>
|
||||
<DllDataFileName>
|
||||
</DllDataFileName>
|
||||
<InterfaceIdentifierFileName>LegacyUpdate_i.c</InterfaceIdentifierFileName>
|
||||
<ProxyFileName>LegacyUpdate_p.c</ProxyFileName>
|
||||
</Midl>
|
||||
<ResourceCompile>
|
||||
<Culture>0x0409</Culture>
|
||||
<PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<AdditionalIncludeDirectories>$(IntDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
</ResourceCompile>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<None Include="icon.ico" />
|
||||
<None Include="LegacyUpdate.def" />
|
||||
|
@ -196,42 +361,72 @@
|
|||
<ClCompile Include="Compat.cpp" />
|
||||
<ClCompile Include="stdafx.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Utils.cpp" />
|
||||
<ClCompile Include="dlldatax.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
|
||||
</ClCompile>
|
||||
<ClCompile Include="dllmain.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
|
||||
</ClCompile>
|
||||
<ClCompile Include="LegacyUpdate_i.c">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC08|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug-VC17|x64'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</CompileAsManaged>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
|
|
|
@ -9,8 +9,7 @@
|
|||
#define IDR_LEGACYUPDATEOCX 101
|
||||
#define IDR_LEGACYUPDATECTRL 102
|
||||
#define IDI_ICON1 201
|
||||
#define IDR_CPLTASKS32 202
|
||||
#define IDR_CPLTASKS64 203
|
||||
#define IDR_CPLTASKS 202
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
|
|
|
@ -30,5 +30,7 @@ if exist "%ProgramFiles32%\Microsoft Visual Studio\Installer\vswhere.exe" (
|
|||
|
||||
msbuild LegacyUpdate.sln /m /p:Configuration=Release /p:Platform=Win32 %*
|
||||
if "%errorlevel%" neq "0" exit /b %errorlevel%
|
||||
msbuild LegacyUpdate.sln /m /p:Configuration=Release /p:Platform=x64 %*
|
||||
if "%errorlevel%" neq "0" exit /b %errorlevel%
|
||||
makensis setup\setup.nsi
|
||||
if "%errorlevel%" neq "0" exit /b %errorlevel%
|
||||
|
|
|
@ -164,32 +164,44 @@ FunctionEnd
|
|||
!macro TryWithRetry command error
|
||||
ClearErrors
|
||||
${command}
|
||||
IfErrors 0 +6
|
||||
IfErrors 0 +3
|
||||
MessageBox MB_RETRYCANCEL|MB_USERICON \
|
||||
'${error}$\r$\n$\r$\nIf Internet Explorer is open, close it and click Retry.' \
|
||||
/SD IDCANCEL \
|
||||
IDRETRY -6
|
||||
IDRETRY -3
|
||||
Abort
|
||||
!macroend
|
||||
|
||||
!macro RegisterDLL un file
|
||||
!macro TryFile file oname
|
||||
!insertmacro TryWithRetry `File "/ONAME=${oname}" "${file}"` 'Unable to write to "${oname}".'
|
||||
!macroend
|
||||
|
||||
!macro TryDelete file
|
||||
!insertmacro TryWithRetry `Delete "${file}"` 'Unable to delete "${file}".'
|
||||
!macroend
|
||||
|
||||
!macro TryRename src dest
|
||||
!insertmacro TryWithRetry `Rename "${src}" "${dest}"` 'Unable to write to "${dest}".2'
|
||||
!macroend
|
||||
|
||||
!macro RegisterDLL un arch file
|
||||
${If} "${un}" == "Un"
|
||||
StrCpy $0 "/u"
|
||||
${Else}
|
||||
StrCpy $0 ""
|
||||
${EndIf}
|
||||
|
||||
${If} "${arch}" == "x86"
|
||||
StrCpy $1 "$WINDIR\system32"
|
||||
${ElseIf} "${arch}" == "x64"
|
||||
StrCpy $1 "$WINDIR\Sysnative"
|
||||
${EndIf}
|
||||
|
||||
ClearErrors
|
||||
${un}RegDLL "${file}"
|
||||
ExecWait '"$1\regsvr32.exe" /s $0 "${file}"'
|
||||
${If} ${Errors}
|
||||
; Try again with regsvr32. RegDLL seems to fail on Win2k, not sure why.
|
||||
ClearErrors
|
||||
|
||||
${If} "${un}" == "Un"
|
||||
StrCpy $0 "/u"
|
||||
${Else}
|
||||
StrCpy $0 ""
|
||||
${EndIf}
|
||||
|
||||
ExecWait '"$SYSDIR\regsvr32.exe" /s $0 "${file}"'
|
||||
${If} ${Errors}
|
||||
; Do it again non-silently so the user can see the error.
|
||||
ExecWait '"$SYSDIR\regsvr32.exe" $0 "${file}"'
|
||||
Abort
|
||||
${EndIf}
|
||||
; Do it again non-silently so the user can see the error.
|
||||
ExecWait '"$1\regsvr32.exe" $0 "${file}"'
|
||||
Abort
|
||||
${EndIf}
|
||||
!macroend
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
; Windows 8 Servicing Stack
|
||||
!insertmacro MSUHandler "KB4598297" "Servicing Stack Update for Windows 8" "Package_for_KB4598297"
|
||||
!insertmacro MSUHandler "KB4598297" "2021-01 Servicing Stack Update for Windows Server 2012" "Package_for_KB4598297"
|
||||
|
||||
; Windows 8.1 Servicing Stack
|
||||
!insertmacro MSUHandler "KB3021910" "Servicing Stack Update for Windows 8.1" "Package_for_KB3021910"
|
||||
!insertmacro MSUHandler "KB3021910" "2015-04 Servicing Stack Update for Windows 8.1" "Package_for_KB3021910"
|
||||
|
||||
; Windows 8.1 Update 1
|
||||
!insertmacro MSUHandler "KB2919355" "Windows 8.1 Update 1" "Package_for_KB2919355"
|
||||
|
|
|
@ -74,6 +74,7 @@ FunctionEnd
|
|||
!macroend
|
||||
|
||||
Function UpdateRoots
|
||||
SetOutPath $PLUGINSDIR
|
||||
File "updroots.exe"
|
||||
!insertmacro DetailPrint "Downloading Certificate Trust List..."
|
||||
!insertmacro _DownloadSST "authroots"
|
||||
|
|
|
@ -4,7 +4,7 @@ Name "${NAME}"
|
|||
Caption "${NAME}"
|
||||
BrandingText "${NAME} ${VERSION} - ${DOMAIN}"
|
||||
OutFile "LegacyUpdate-${VERSION}.exe"
|
||||
InstallDir "$ProgramFiles\${NAME}"
|
||||
InstallDir "$PROGRAMFILES\${NAME}"
|
||||
InstallDirRegKey HKLM "${REGPATH_LEGACYUPDATE_SETUP}" "InstallDir"
|
||||
|
||||
Unicode true
|
||||
|
@ -12,6 +12,8 @@ RequestExecutionLevel Admin
|
|||
AutoCloseWindow true
|
||||
ManifestSupportedOS all
|
||||
ManifestDPIAware true
|
||||
AllowSkipFiles off
|
||||
SetCompressor /SOLID lzma
|
||||
|
||||
VIAddVersionKey /LANG=1033 "ProductName" "${NAME}"
|
||||
VIAddVersionKey /LANG=1033 "ProductVersion" "${LONGVERSION}"
|
||||
|
@ -94,6 +96,8 @@ VIFileVersion ${LONGVERSION}
|
|||
|
||||
!insertmacro MUI_LANGUAGE "English"
|
||||
|
||||
Var InstallDir
|
||||
|
||||
!macro RestartWUAUService
|
||||
!insertmacro DetailPrint "Restarting Windows Update service..."
|
||||
SetDetailsPrint none
|
||||
|
@ -230,7 +234,7 @@ ${MementoSectionEnd}
|
|||
|
||||
; Main installation
|
||||
${MementoSection} "Legacy Update" LEGACYUPDATE
|
||||
SetOutPath $INSTDIR
|
||||
SetOutPath $InstallDir
|
||||
WriteUninstaller "Uninstall.exe"
|
||||
|
||||
; Add uninstall entry
|
||||
|
@ -256,22 +260,30 @@ ${MementoSection} "Legacy Update" LEGACYUPDATE
|
|||
WriteRegDword HKCR "${REGPATH_CPLCLSID}" "{305CA226-D286-468e-B848-2B2E8E697B74} 2" 5
|
||||
WriteRegStr HKCR "${REGPATH_CPLCLSID}" "System.ApplicationName" "${CPL_APPNAME}"
|
||||
WriteRegStr HKCR "${REGPATH_CPLCLSID}" "System.ControlPanelCategory" "5,10"
|
||||
${If} ${RunningX64}
|
||||
WriteRegStr HKCR "${REGPATH_CPLCLSID}" "System.Software.TasksFileUrl" "$OUTDIR\LegacyUpdate.dll,-203"
|
||||
${Else}
|
||||
WriteRegStr HKCR "${REGPATH_CPLCLSID}" "System.Software.TasksFileUrl" "$OUTDIR\LegacyUpdate.dll,-202"
|
||||
${EndIf}
|
||||
WriteRegStr HKCR "${REGPATH_CPLCLSID}" "System.Software.TasksFileUrl" "$OUTDIR\LegacyUpdate.dll,-202"
|
||||
WriteRegStr HKLM "${REGPATH_CPLNAMESPACE}" "" "${NAME}"
|
||||
|
||||
; Install DLL, with detection for it being in use by IE
|
||||
; NOTE: Here we specifically check for amd64, because the DLL is amd64.
|
||||
; We still install to native Program Files on IA64, but with x86 binaries.
|
||||
SetOverwrite try
|
||||
!insertmacro TryWithRetry \
|
||||
`File "..\Release\LegacyUpdate.dll"` \
|
||||
'Unable to write to "$OUTDIR\LegacyUpdate.dll".'
|
||||
!insertmacro TryFile "..\Release\LegacyUpdate.dll" "$OUTDIR\LegacyUpdate.dll"
|
||||
${If} ${IsNativeAMD64}
|
||||
${If} ${FileExists} "$OUTDIR\LegacyUpdate32.dll"
|
||||
!insertmacro TryDelete "$OUTDIR\LegacyUpdate32.dll"
|
||||
${EndIf}
|
||||
!insertmacro TryRename "$OUTDIR\LegacyUpdate.dll" "$OUTDIR\LegacyUpdate32.dll"
|
||||
!insertmacro TryFile "..\x64\Release\LegacyUpdate.dll" "$OUTDIR\LegacyUpdate.dll"
|
||||
${EndIf}
|
||||
SetOverwrite on
|
||||
|
||||
; Register DLL
|
||||
!insertmacro RegisterDLL "" "$OUTDIR\LegacyUpdate.dll"
|
||||
${If} ${IsNativeAMD64}
|
||||
!insertmacro RegisterDLL "" x64 "$OUTDIR\LegacyUpdate.dll"
|
||||
!insertmacro RegisterDLL "" x86 "$OUTDIR\LegacyUpdate32.dll"
|
||||
${Else}
|
||||
!insertmacro RegisterDLL "" x86 "$OUTDIR\LegacyUpdate.dll"
|
||||
${EndIf}
|
||||
|
||||
; Create shortcut
|
||||
CreateShortcut "$COMMONSTARTMENU\${NAME}.lnk" \
|
||||
|
@ -310,6 +322,14 @@ ${MementoSection} "Legacy Update" LEGACYUPDATE
|
|||
Delete $WINDIR\inf\LegacyUpdate.inf
|
||||
${EndIf}
|
||||
|
||||
; If 32-bit Legacy Update exists, move it to 64-bit Program Files
|
||||
${If} ${RunningX64}
|
||||
${AndIf} ${FileExists} "$PROGRAMFILES32\Legacy Update\Backup"
|
||||
CreateDirectory "$PROGRAMFILES64\Legacy Update"
|
||||
Rename "$PROGRAMFILES32\Legacy Update\Backup" "$PROGRAMFILES64\Legacy Update\Backup"
|
||||
RMDir /r "$PROGRAMFILES32\Legacy Update"
|
||||
${EndIf}
|
||||
|
||||
; Set WSUS server
|
||||
${If} ${AtMostWinVista}
|
||||
; Check if Schannel is going to work with modern TLS
|
||||
|
@ -346,6 +366,8 @@ ${MementoSectionEnd}
|
|||
${MementoSectionDone}
|
||||
|
||||
Section -Uninstall
|
||||
SetOutPath $InstallDir
|
||||
|
||||
; Delete shortcut
|
||||
${UnpinShortcut} "$COMMONSTARTMENU\${NAME}.lnk"
|
||||
Delete "$COMMONSTARTMENU\${NAME}.lnk"
|
||||
|
@ -355,16 +377,23 @@ Section -Uninstall
|
|||
DeleteRegKey HKCR "${REGPATH_CPLCLSID}"
|
||||
|
||||
; Restore shortcuts
|
||||
${If} ${FileExists} "$INSTDIR\Backup\Windows Update.lnk"
|
||||
Rename "$INSTDIR\Backup\Windows Update.lnk" "$COMMONSTARTMENU\Windows Update.lnk"
|
||||
${If} ${FileExists} "$OUTDIR\Backup\Windows Update.lnk"
|
||||
Rename "$OUTDIR\Backup\Windows Update.lnk" "$COMMONSTARTMENU\Windows Update.lnk"
|
||||
${EndIf}
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\Backup\Microsoft Update.lnk"
|
||||
Rename "$INSTDIR\Backup\Microsoft Update.lnk" "$COMMONSTARTMENU\Microsoft Update.lnk"
|
||||
${If} ${FileExists} "$OUTDIR\Backup\Microsoft Update.lnk"
|
||||
Rename "$OUTDIR\Backup\Microsoft Update.lnk" "$COMMONSTARTMENU\Microsoft Update.lnk"
|
||||
${EndIf}
|
||||
|
||||
; Unregister dll
|
||||
!insertmacro RegisterDLL "Un" "$INSTDIR\LegacyUpdate.dll"
|
||||
SetOverwrite try
|
||||
${If} ${IsNativeAMD64}
|
||||
!insertmacro RegisterDLL Un x64 "$OUTDIR\LegacyUpdate.dll"
|
||||
!insertmacro RegisterDLL Un x86 "$OUTDIR\LegacyUpdate32.dll"
|
||||
${Else}
|
||||
!insertmacro RegisterDLL Un x86 "$OUTDIR\LegacyUpdate.dll"
|
||||
${EndIf}
|
||||
SetOverwrite on
|
||||
|
||||
; Clear WSUS server
|
||||
${If} ${AtMostWinVista}
|
||||
|
@ -382,13 +411,16 @@ Section -Uninstall
|
|||
!insertmacro RestartWUAUService
|
||||
|
||||
; Delete the rest
|
||||
Delete "$INSTDIR\Uninstall.exe"
|
||||
Delete "$INSTDIR\LegacyUpdateSetup.exe"
|
||||
!insertmacro TryWithRetry \
|
||||
`Delete "$INSTDIR\LegacyUpdate.dll"` \
|
||||
'Unable to delete "$INSTDIR\LegacyUpdate.dll".'
|
||||
RMDir "$INSTDIR"
|
||||
RMDir "$INSTDIR\Backup"
|
||||
Delete "$OUTDIR\Uninstall.exe"
|
||||
Delete "$OUTDIR\LegacyUpdateSetup.exe"
|
||||
|
||||
SetOverwrite try
|
||||
!insertmacro TryDelete "$OUTDIR\LegacyUpdate.dll"
|
||||
!insertmacro TryDelete "$OUTDIR\LegacyUpdate32.dll"
|
||||
SetOverwrite on
|
||||
|
||||
RMDir "$OUTDIR"
|
||||
RMDir "$OUTDIR\Backup"
|
||||
DeleteRegKey HKLM "${REGPATH_UNINSTSUBKEY}"
|
||||
SectionEnd
|
||||
|
||||
|
@ -434,6 +466,9 @@ Function .onInit
|
|||
SetShellVarContext All
|
||||
${If} ${RunningX64}
|
||||
SetRegView 64
|
||||
StrCpy $InstallDir "$PROGRAMFILES64\${NAME}"
|
||||
${Else}
|
||||
StrCpy $InstallDir "$PROGRAMFILES32\${NAME}"
|
||||
${EndIf}
|
||||
!insertmacro EnsureAdminRights
|
||||
SetDetailsPrint listonly
|
||||
|
@ -448,6 +483,8 @@ Function .onInit
|
|||
|
||||
${MementoSectionRestore}
|
||||
|
||||
; !insertmacro DownloadRequest "https://legacyupdate.net/" "$PLUGINSDIR\test" ""
|
||||
|
||||
${If} ${IsWin2000}
|
||||
; Determine whether Win2k prereqs need to be installed
|
||||
Call NeedsW2KSP4
|
||||
|
@ -586,23 +623,14 @@ Function .onInit
|
|||
; Try not to be too intrusive on Windows 10 and newer, which are (for now) fine
|
||||
${If} ${AtLeastWin10}
|
||||
!insertmacro RemoveSection ${ROOTCERTS}
|
||||
|
||||
!insertmacro TaskDialog `'Legacy Update'` \
|
||||
`'Legacy Update is intended for earlier versions of Windows'` \
|
||||
`'Visit legacyupdate.net for more information.$\r$\n$\r$\nContinue anyway?'` \
|
||||
${TDCBF_YES_BUTTON}|${TDCBF_NO_BUTTON} \
|
||||
${TD_WARNING_ICON}
|
||||
${If} $0 != ${IDYES}
|
||||
Quit
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function PostInstall
|
||||
${IfNot} ${Silent}
|
||||
${AndIfNot} ${IsRunOnce}
|
||||
${If} ${FileExists} "$INSTDIR\LegacyUpdate.dll"
|
||||
Exec '$SYSDIR\rundll32.exe "$INSTDIR\LegacyUpdate.dll",LaunchUpdateSite firstrun'
|
||||
${If} ${FileExists} "$InstallDir\LegacyUpdate.dll"
|
||||
Exec '$SYSDIR\rundll32.exe "$InstallDir\LegacyUpdate.dll",LaunchUpdateSite firstrun'
|
||||
${ElseIf} ${AtLeastWinVista}
|
||||
Exec '$SYSDIR\wuauclt.exe /ShowWUAutoScan'
|
||||
${EndIf}
|
||||
|
@ -649,6 +677,9 @@ Function un.onInit
|
|||
SetShellVarContext All
|
||||
${If} ${RunningX64}
|
||||
SetRegView 64
|
||||
StrCpy $InstallDir "$PROGRAMFILES64\${NAME}"
|
||||
${Else}
|
||||
StrCpy $InstallDir "$PROGRAMFILES32\${NAME}"
|
||||
${EndIf}
|
||||
!insertmacro EnsureAdminRights
|
||||
SetDetailsPrint listonly
|
||||
|
|
Loading…
Reference in a new issue