Magical pixie dust for windows updater reliability
Don't ask.
This commit is contained in:
		
							
								
								
									
										27
									
								
								MultiMC.manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								MultiMC.manifest
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
			
		||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 | 
			
		||||
  <assemblyIdentity name="MultiMC.Application.5" type="win32" version="5.0.0.0" />
 | 
			
		||||
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 | 
			
		||||
    <security>
 | 
			
		||||
      <requestedPrivileges>
 | 
			
		||||
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
 | 
			
		||||
      </requestedPrivileges>
 | 
			
		||||
    </security>
 | 
			
		||||
  </trustInfo>
 | 
			
		||||
  <dependency>
 | 
			
		||||
    <dependentAssembly>
 | 
			
		||||
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"/>
 | 
			
		||||
    </dependentAssembly>
 | 
			
		||||
  </dependency>
 | 
			
		||||
  <description>Custom Minecraft launcher for managing multiple installs.</description>
 | 
			
		||||
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 | 
			
		||||
    <application>
 | 
			
		||||
      <!--The ID below indicates app support for Windows Vista -->
 | 
			
		||||
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
 | 
			
		||||
      <!--The ID below indicates app support for Windows 7 -->
 | 
			
		||||
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
 | 
			
		||||
      <!--The ID below indicates app support for Windows Developer Preview / Windows 8 -->
 | 
			
		||||
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
 | 
			
		||||
    </application> 
 | 
			
		||||
  </compatibility>
 | 
			
		||||
</assembly>
 | 
			
		||||
@@ -9,6 +9,14 @@ include_directories(depends)
 | 
			
		||||
if (WIN32)
 | 
			
		||||
    include_directories(depends/win32cpp)
 | 
			
		||||
 | 
			
		||||
	# static all the things. The updater must have no dependencies,  or it will fail.
 | 
			
		||||
	if (MINGW)
 | 
			
		||||
		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static-libgcc -static")
 | 
			
		||||
		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static-libgcc -static-libstdc++ -static")
 | 
			
		||||
#set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_C_FLAGS} -static-libgcc -s")
 | 
			
		||||
#set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "${CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS} -static-libgcc -static-libstdc++ -s")
 | 
			
		||||
	endif()
 | 
			
		||||
 | 
			
		||||
    if(MSVC)
 | 
			
		||||
		# - Link the updater binary statically with the Visual C++ runtime
 | 
			
		||||
		#   so that the executable can function standalone.
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										27
									
								
								mmc_updater/src/resources/updater.manifest
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								mmc_updater/src/resources/updater.manifest
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 | 
			
		||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
 | 
			
		||||
  <assemblyIdentity name="MultiMC.Updater.1" type="win32" version="1.0.0.0" />
 | 
			
		||||
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
 | 
			
		||||
    <security>
 | 
			
		||||
      <requestedPrivileges>
 | 
			
		||||
        <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
 | 
			
		||||
      </requestedPrivileges>
 | 
			
		||||
    </security>
 | 
			
		||||
  </trustInfo>
 | 
			
		||||
  <dependency>
 | 
			
		||||
    <dependentAssembly>
 | 
			
		||||
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"/>
 | 
			
		||||
    </dependentAssembly>
 | 
			
		||||
  </dependency>
 | 
			
		||||
  <description>Software updater for MultiMC.</description>
 | 
			
		||||
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
 | 
			
		||||
    <application>
 | 
			
		||||
      <!--The ID below indicates app support for Windows Vista -->
 | 
			
		||||
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
 | 
			
		||||
      <!--The ID below indicates app support for Windows 7 -->
 | 
			
		||||
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
 | 
			
		||||
      <!--The ID below indicates app support for Windows Developer Preview / Windows 8 -->
 | 
			
		||||
      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
 | 
			
		||||
    </application> 
 | 
			
		||||
  </compatibility>
 | 
			
		||||
</assembly>
 | 
			
		||||
@@ -1,30 +1,30 @@
 | 
			
		||||
#ifndef WIN32_LEAN_AND_MEAN
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#endif
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
 | 
			
		||||
IDI_APPICON		ICON		DISCARDABLE	"updater.ico"
 | 
			
		||||
 | 
			
		||||
1       VERSIONINFO
 | 
			
		||||
FILEVERSION     0,0,1,0
 | 
			
		||||
PRODUCTVERSION  1,0,1,0
 | 
			
		||||
FILEFLAGSMASK   0X3FL
 | 
			
		||||
FILEFLAGS       0X8L
 | 
			
		||||
FILEOS          0X40004L
 | 
			
		||||
FILETYPE        0X1
 | 
			
		||||
FILESUBTYPE     0
 | 
			
		||||
1 RT_MANIFEST "updater.manifest"
 | 
			
		||||
 | 
			
		||||
VS_VERSION_INFO VERSIONINFO
 | 
			
		||||
FILEVERSION     1,0,0,0
 | 
			
		||||
FILEOS          VOS_NT_WINDOWS32
 | 
			
		||||
FILETYPE        VFT_APP
 | 
			
		||||
BEGIN
 | 
			
		||||
        BLOCK "StringFileInfo"
 | 
			
		||||
        BEGIN
 | 
			
		||||
                BLOCK "000004b0"
 | 
			
		||||
                BEGIN
 | 
			
		||||
                        VALUE "FileVersion", "0.0.1.0"
 | 
			
		||||
                        VALUE "ProductVersion", "1.0.1.0"
 | 
			
		||||
                        VALUE "OriginalFilename", "updater.exe"
 | 
			
		||||
                        VALUE "InternalName", "updater.exe"
 | 
			
		||||
                        VALUE "FileDescription", "Software Update Tool"
 | 
			
		||||
                        VALUE "CompanyName", "MultiMC Contributors"
 | 
			
		||||
                        VALUE "FileDescription", "Software Update Tool"
 | 
			
		||||
                        VALUE "FileVersion", "1.0.0.0"
 | 
			
		||||
                        VALUE "ProductName", "MultiMC Software Updater"
 | 
			
		||||
                        VALUE "PrivateBuild", "Built by BuildBot"
 | 
			
		||||
                        VALUE "ProductVersion", "1.0"
 | 
			
		||||
                END
 | 
			
		||||
        END
 | 
			
		||||
        BLOCK "VarFileInfo"
 | 
			
		||||
        BEGIN
 | 
			
		||||
                VALUE "Translation", 0x0000, 0x04b0
 | 
			
		||||
                VALUE "Translation", 0x0000, 0x04b0 // Unicode
 | 
			
		||||
        END
 | 
			
		||||
END
 | 
			
		||||
							
								
								
									
										28
									
								
								multimc.rc
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								multimc.rc
									
									
									
									
									
								
							@@ -1 +1,29 @@
 | 
			
		||||
#ifndef WIN32_LEAN_AND_MEAN
 | 
			
		||||
#define WIN32_LEAN_AND_MEAN
 | 
			
		||||
#endif
 | 
			
		||||
#include <windows.h>
 | 
			
		||||
 | 
			
		||||
IDI_ICON1               ICON    DISCARDABLE     "resources/icons/MultiMC.ico"
 | 
			
		||||
1 RT_MANIFEST "MultiMC.manifest"
 | 
			
		||||
 | 
			
		||||
VS_VERSION_INFO VERSIONINFO
 | 
			
		||||
FILEVERSION     1,0,0,0
 | 
			
		||||
FILEOS          VOS_NT_WINDOWS32
 | 
			
		||||
FILETYPE        VFT_APP
 | 
			
		||||
BEGIN
 | 
			
		||||
        BLOCK "StringFileInfo"
 | 
			
		||||
        BEGIN
 | 
			
		||||
                BLOCK "000004b0"
 | 
			
		||||
                BEGIN
 | 
			
		||||
                        VALUE "CompanyName", "MultiMC Contributors"
 | 
			
		||||
                        VALUE "FileDescription", "Minecraft Launcher"
 | 
			
		||||
                        VALUE "FileVersion", "1.0.0.0"
 | 
			
		||||
                        VALUE "ProductName", "MultiMC"
 | 
			
		||||
                        VALUE "ProductVersion", "5"
 | 
			
		||||
                END
 | 
			
		||||
        END
 | 
			
		||||
        BLOCK "VarFileInfo"
 | 
			
		||||
        BEGIN
 | 
			
		||||
                VALUE "Translation", 0x0000, 0x04b0 // Unicode
 | 
			
		||||
        END
 | 
			
		||||
END
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user