mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-11-23 19:49:17 +08:00
Check if package already registered
This commit is contained in:
parent
558ff88d5e
commit
5af584fed4
@ -48,6 +48,26 @@ namespace
|
||||
dwlConditionMask);
|
||||
}
|
||||
|
||||
bool IsPackageRegistered(std::wstring packageDisplayName)
|
||||
{
|
||||
using namespace winrt::Windows::Foundation;
|
||||
using namespace winrt::Windows::Management::Deployment;
|
||||
|
||||
PackageManager packageManager;
|
||||
|
||||
for (auto const& package : packageManager.FindPackages())
|
||||
{
|
||||
const auto& packageFullName = std::wstring{ package.Id().FullName() };
|
||||
|
||||
if (packageFullName.contains(packageDisplayName))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
bool RegisterSparsePackage(std::wstring externalLocation, std::wstring sparsePkgPath)
|
||||
{
|
||||
using namespace winrt::Windows::Foundation;
|
||||
@ -274,7 +294,12 @@ public:
|
||||
{
|
||||
std::wstring path = get_module_folderpath(g_hInst);
|
||||
std::wstring packageUri = path + L"\\PowerRenameContextMenuPackage.msix";
|
||||
RegisterSparsePackage(path, packageUri);
|
||||
|
||||
std::wstring packageDisplayName{ L"PowerRenameContextMenu" };
|
||||
if (!IsPackageRegistered(packageDisplayName))
|
||||
{
|
||||
RegisterSparsePackage(path, packageUri);
|
||||
}
|
||||
}
|
||||
|
||||
save_settings();
|
||||
|
Loading…
Reference in New Issue
Block a user