diff --git a/src/duckstation-qt/duckstation-qt.aps b/src/duckstation-qt/duckstation-qt.aps
index 2625d489c..d115856a7 100644
Binary files a/src/duckstation-qt/duckstation-qt.aps and b/src/duckstation-qt/duckstation-qt.aps differ
diff --git a/src/duckstation-qt/duckstation-qt.rc b/src/duckstation-qt/duckstation-qt.rc
index 6a448ce1e..0038c18d7 100644
--- a/src/duckstation-qt/duckstation-qt.rc
+++ b/src/duckstation-qt/duckstation-qt.rc
@@ -71,9 +71,9 @@ BEGIN
VALUE "FileDescription", "DuckStation PS1 Emulator"
VALUE "FileVersion", "1.0.0.1"
VALUE "InternalName", "duckstation-qt.exe"
- VALUE "LegalCopyright", "Copyright (C) 2020 Stenzek and collaborators"
+ VALUE "LegalCopyright", "Copyright (C) 2020-2024 Stenzek and collaborators"
VALUE "OriginalFilename", "duckstation-qt.exe"
- VALUE "ProductName", "DuckStation Qt Frontend"
+ VALUE "ProductName", "DuckStation"
VALUE "ProductVersion", "1.0.0.1"
END
END
diff --git a/src/updater/CMakeLists.txt b/src/updater/CMakeLists.txt
index 8fb16f2b7..3dbacafd8 100644
--- a/src/updater/CMakeLists.txt
+++ b/src/updater/CMakeLists.txt
@@ -7,6 +7,7 @@ target_link_libraries(updater PRIVATE common minizip ZLIB::ZLIB)
if(WIN32)
target_sources(updater PRIVATE
+ updater.rc
win32_main.cpp
win32_progress_callback.cpp
win32_progress_callback.h
diff --git a/src/updater/resource.h b/src/updater/resource.h
new file mode 100644
index 000000000..312731b48
--- /dev/null
+++ b/src/updater/resource.h
@@ -0,0 +1,16 @@
+//{{NO_DEPENDENCIES}}
+// Microsoft Visual C++ generated include file.
+// Used by duckstation-qt.rc
+//
+#define IDI_ICON1 102
+
+// Next default values for new objects
+//
+#ifdef APSTUDIO_INVOKED
+#ifndef APSTUDIO_READONLY_SYMBOLS
+#define _APS_NEXT_RESOURCE_VALUE 103
+#define _APS_NEXT_COMMAND_VALUE 40001
+#define _APS_NEXT_CONTROL_VALUE 1001
+#define _APS_NEXT_SYMED_VALUE 101
+#endif
+#endif
diff --git a/src/updater/updater.rc b/src/updater/updater.rc
new file mode 100644
index 000000000..760c31794
--- /dev/null
+++ b/src/updater/updater.rc
@@ -0,0 +1,110 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "winres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// English (Australia) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS
+#pragma code_page(1252)
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE
+BEGIN
+ "resource.h\0"
+END
+
+2 TEXTINCLUDE
+BEGIN
+ "#include ""winres.h""\r\n"
+ "\0"
+END
+
+3 TEXTINCLUDE
+BEGIN
+ "\r\n"
+ "\0"
+END
+
+#endif // APSTUDIO_INVOKED
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Version
+//
+
+VS_VERSION_INFO VERSIONINFO
+ FILEVERSION 1,0,0,0
+ PRODUCTVERSION 1,0,0,0
+ FILEFLAGSMASK 0x3fL
+#ifdef _DEBUG
+ FILEFLAGS 0x1L
+#else
+ FILEFLAGS 0x0L
+#endif
+ FILEOS 0x40004L
+ FILETYPE 0x1L
+ FILESUBTYPE 0x0L
+BEGIN
+ BLOCK "StringFileInfo"
+ BEGIN
+ BLOCK "0c0904b0"
+ BEGIN
+ VALUE "CompanyName", "https://github.com/stenzek/duckstation"
+ VALUE "FileDescription", "DuckStation Update Installer"
+ VALUE "FileVersion", "1.0.0.0"
+ VALUE "InternalName", "updater.exe"
+ VALUE "LegalCopyright", "Copyright (C) 2020-2024 Stenzek and collaborators"
+ VALUE "OriginalFilename", "updater.exe"
+ VALUE "ProductName", "DuckStation"
+ VALUE "ProductVersion", "1.0.0.0"
+ END
+ END
+ BLOCK "VarFileInfo"
+ BEGIN
+ VALUE "Translation", 0xc09, 1200
+ END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1 ICON "..\\duckstation-qt\\duckstation-qt.ico"
+
+#endif // English (Australia) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif // not APSTUDIO_INVOKED
+
diff --git a/src/updater/updater.vcxproj b/src/updater/updater.vcxproj
index c461e0af2..ac5e9d3ee 100644
--- a/src/updater/updater.vcxproj
+++ b/src/updater/updater.vcxproj
@@ -22,6 +22,9 @@
{ee054e08-3799-4a59-a422-18259c105ffd}
+
+
+
{32EEAF44-57F8-4C6C-A6F0-DE5667123DD5}
diff --git a/src/updater/updater.vcxproj.filters b/src/updater/updater.vcxproj.filters
index 6764184f7..e1c4ac6c1 100644
--- a/src/updater/updater.vcxproj.filters
+++ b/src/updater/updater.vcxproj.filters
@@ -13,4 +13,7 @@
+
+
+
\ No newline at end of file