7-Zip should write the QuietUninstallString uninstall entry so WinGet and other tools can do silent uninstalls.
--- old\7zipInstall.c Wed Sep 01 21:11:02 2021
+++ new\7zipInstall.c Wed Sep 01 21:12:47 2021
@@ -926,7 +926,9 @@
wcscpy(destPath + 1, path);
CatAscii(destPath, "Uninstall.exe\"");
MyRegistry_SetString(destKey, L"UninstallString", destPath);
-
+ CatAscii(destPath, " /S");
+ MyRegistry_SetString(destKey, L"QuietUninstallString", destPath);
+
MyRegistry_SetDWORD(destKey, L"NoModify", 1);
MyRegistry_SetDWORD(destKey, L"NoRepair", 1);