Skip to content

Commit 4756b17

Browse files
committed
Installer: Add Windows uninstaller program
1 parent 22c8d91 commit 4756b17

File tree

9 files changed

+600
-0
lines changed

9 files changed

+600
-0
lines changed

duckstation.sln

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "util-tests", "src\util-test
5959
EndProject
6060
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "installer", "src\installer\installer.vcxproj", "{CD6D0C84-042E-4C9A-AAB5-D3BDC80273DA}"
6161
EndProject
62+
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uninstaller", "src\uninstaller\uninstaller.vcxproj", "{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}"
63+
EndProject
6264
Global
6365
GlobalSection(SolutionConfigurationPlatforms) = preSolution
6466
Debug|ARM64 = Debug|ARM64
@@ -1004,6 +1006,31 @@ Global
10041006
{CD6D0C84-042E-4C9A-AAB5-D3BDC80273DA}.ReleaseLTCG-Clang-SSE2|ARM64.ActiveCfg = ReleaseLTCG-Clang|ARM64
10051007
{CD6D0C84-042E-4C9A-AAB5-D3BDC80273DA}.ReleaseLTCG-Clang-SSE2|x64.ActiveCfg = ReleaseLTCG-Clang-SSE2|x64
10061008
{CD6D0C84-042E-4C9A-AAB5-D3BDC80273DA}.ReleaseLTCG-Clang-SSE2|x64.Build.0 = ReleaseLTCG-Clang-SSE2|x64
1009+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug|ARM64.ActiveCfg = Debug-Clang|ARM64
1010+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug|x64.ActiveCfg = Debug|x64
1011+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug-Clang|ARM64.ActiveCfg = Debug-Clang|ARM64
1012+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug-Clang|x64.ActiveCfg = Debug-Clang|x64
1013+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug-Clang-SSE2|ARM64.ActiveCfg = Debug-Clang|ARM64
1014+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Debug-Clang-SSE2|x64.ActiveCfg = Debug-Clang-SSE2|x64
1015+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.DebugFast|ARM64.ActiveCfg = DebugFast-Clang|ARM64
1016+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.DebugFast|x64.ActiveCfg = DebugFast|x64
1017+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.DebugFast-Clang|ARM64.ActiveCfg = DebugFast-Clang|ARM64
1018+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.DebugFast-Clang|x64.ActiveCfg = DebugFast-Clang|x64
1019+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Devel-Clang|ARM64.ActiveCfg = Devel-Clang|ARM64
1020+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Devel-Clang|x64.ActiveCfg = Devel-Clang|x64
1021+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Release|ARM64.ActiveCfg = Release-Clang|ARM64
1022+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Release|x64.ActiveCfg = Release|x64
1023+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Release-Clang|ARM64.ActiveCfg = Release-Clang|ARM64
1024+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.Release-Clang|x64.ActiveCfg = Release-Clang|x64
1025+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG|ARM64.ActiveCfg = ReleaseLTCG-Clang|ARM64
1026+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG|x64.ActiveCfg = ReleaseLTCG|x64
1027+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang|ARM64.ActiveCfg = ReleaseLTCG-Clang|ARM64
1028+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang|ARM64.Build.0 = ReleaseLTCG-Clang|ARM64
1029+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang|x64.ActiveCfg = ReleaseLTCG-Clang|x64
1030+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang|x64.Build.0 = ReleaseLTCG-Clang|x64
1031+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang-SSE2|ARM64.ActiveCfg = ReleaseLTCG-Clang|ARM64
1032+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang-SSE2|x64.ActiveCfg = ReleaseLTCG-Clang-SSE2|x64
1033+
{91C19063-A8D7-421C-A0E3-A1A3ECFC5EE5}.ReleaseLTCG-Clang-SSE2|x64.Build.0 = ReleaseLTCG-Clang-SSE2|x64
10071034
EndGlobalSection
10081035
GlobalSection(SolutionProperties) = preSolution
10091036
HideSolutionNode = FALSE

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ endif()
99

1010
if(WIN32)
1111
add_subdirectory(installer)
12+
add_subdirectory(uninstaller)
1213
endif()
1314

1415
if(BUILD_QT_FRONTEND)

src/uninstaller/CMakeLists.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
add_executable(uninstaller
2+
main.cpp
3+
resource.h
4+
uninstaller.manifest
5+
uninstaller.rc
6+
)
7+
8+
target_include_directories(uninstaller PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/..")
9+
target_link_libraries(uninstaller PRIVATE common fmt)
10+
target_link_libraries(uninstaller PRIVATE "Comctl32.lib")
11+
set_target_properties(uninstaller PROPERTIES WIN32_EXECUTABLE TRUE)

0 commit comments

Comments
 (0)