[RAPPS] Ask user if they want to run the zip app they just installed (#7719)

After the zip has been installed, ask the user if they want to run the extracted application.
This commit is contained in:
Whindmar Saksit 2025-02-18 13:23:25 +01:00 committed by GitHub
parent 705a985789
commit f3c750787b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
28 changed files with 47 additions and 7 deletions

View file

@ -271,15 +271,15 @@ GetLocalizedSMFolderName(LPCWSTR WinVal, LPCWSTR RosInf, LPCWSTR RosVal, CString
return ReadIniValue(path, L"Strings", RosVal, Output) > 0;
}
static BOOL
CreateShortcut(const CStringW &Target)
static CStringW
CreateMainShortcut(const CStringW &Target)
{
InstallInfo &Info = *static_cast<InstallInfo *>(g_pInfo);
UINT csidl = Info.PerUser ? CSIDL_PROGRAMS : CSIDL_COMMON_PROGRAMS;
CStringW rel = Info.ShortcutFile, path, dir, tmp;
if (FAILED(GetSpecialPath(csidl, path, Info.GetGuiOwner())))
return TRUE; // Pretend everything is OK
return L""; // Pretend everything is OK
int cat;
if (Info.Parser.GetInt(DB_CATEGORY, cat) && cat == ENUM_CAT_GAMES)
@ -300,7 +300,7 @@ CreateShortcut(const CStringW &Target)
if ((Info.Error = ErrorFromHResult(hr)) != 0)
{
ErrorBox(Info.Error);
return FALSE;
return L"";
}
CComPtr<IShellLinkW> link;
@ -337,7 +337,7 @@ CreateShortcut(const CStringW &Target)
{
ErrorBox(ErrorFromHResult(hr));
}
return !Info.Error;
return Info.Error ? L"" : path;
}
static BOOL
@ -563,7 +563,20 @@ ExtractAndInstallThread(LPVOID Parameter)
if (!Info.Error && Info.ShortcutFile)
{
CreateShortcut(Info.MainApp);
tmp = CreateMainShortcut(Info.MainApp);
if (!tmp.IsEmpty() && !Info.Silent)
{
CStringW message, format;
format.LoadString(IDS_INSTGEN_CONFIRMINSTRUNAPP);
message.Format(format, const_cast<PCWSTR>(AppName));
if (MessageBoxW(Info.GetGuiOwner(), message, AppName, MB_YESNO | MB_ICONQUESTION) == IDYES)
{
SHELLEXECUTEINFOW sei = { sizeof(sei), SEE_MASK_NOASYNC, Info.GetGuiOwner() };
sei.lpFile = tmp;
sei.nShow = SW_SHOW;
ShellExecuteExW(&sei);
}
}
}
}
@ -609,7 +622,7 @@ UIDlgProc(HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
ErrorBox();
SendMessageW(hDlg, IM_END, 0, 0);
}
break;
return TRUE;
}
case WM_CLOSE:
return TRUE;

View file

@ -235,6 +235,7 @@
/* Generated installer */
#define IDS_INSTGEN_CONFIRMUNINST 1000
#define IDS_INSTGEN_CONFIRMINSTRUNAPP 1001
/* Accelerators */
#define HOTKEYS 715

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -266,4 +266,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Opravdu chcete odinstalovat %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -268,4 +268,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -268,4 +268,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -268,4 +268,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Êtes-vous sûr de vouloir désinstaller %s ?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -270,4 +270,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Sigur doriți să dezinstalați %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -270,4 +270,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -266,4 +266,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Ste si istí, že chcete odinštalovať %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -265,4 +265,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -267,4 +267,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Kaldırmak istediğinizden emin misiniz %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -268,4 +268,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -269,4 +269,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -266,4 +266,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END

View file

@ -266,4 +266,5 @@ END
STRINGTABLE
BEGIN
IDS_INSTGEN_CONFIRMUNINST "Are you sure you want to uninstall %s?"
IDS_INSTGEN_CONFIRMINSTRUNAPP "Installation complete, run %s now?"
END