@@ -18,8 +18,7 @@ struct alias_item_t {
1818};
1919bool AppAliasInitializeBuilt (std::wstring_view file) {
2020 constexpr alias_item_t items[] = {
21- {" windbg" , " Windows Debugger" , " \" %ProgramFiles(x86)%\\ Windows Kits\\ 10\\ Debuggers\\ x64\\ windbg.exe\" " }, //
22- {" edit-hosts" , " Edit Hosts" , " Notepad %windir%\\ System32\\ Drivers\\ etc\\ hosts" }, //
21+ {" edit-hosts" , " Edit Hosts" , " Notepad %windir%\\ System32\\ Drivers\\ etc\\ hosts" }, //
2322 };
2423 try {
2524 nlohmann::json j;
@@ -33,6 +32,14 @@ bool AppAliasInitializeBuilt(std::wstring_view file) {
3332 }
3433 j[" alias" ] = alias;
3534 bela::error_code ec;
35+ std::filesystem::path p (file);
36+ auto parent = p.parent_path ();
37+ if (std::error_code e; !std::filesystem::exists (parent, e)) {
38+ if (!std::filesystem::create_directories (parent, e)) {
39+ ec = bela::make_error_code_from_std (e);
40+ return false ;
41+ }
42+ }
3643 if (!bela::io::AtomicWriteText (file, bela::io::as_bytes<char >(j.dump (4 )), ec)) {
3744 return false ;
3845 }
@@ -45,11 +52,11 @@ bool AppAliasInitializeBuilt(std::wstring_view file) {
4552
4653std::wstring AppAliasFile () {
4754 //
48- return PathSearcher::Instance ().JoinAppData (L" Privexec\\ Privexec.json" );
55+ return PathSearcher::Instance ().JoinAppData (LR"( Privexec\Privexec.json) " );
4956}
5057
5158bool AppAliasInitialize (HWND hbox, priv::alias_t &alias) {
52- auto file = PathSearcher::Instance ().JoinAppData (L" Privexec\\ Privexec.json" );
59+ auto file = PathSearcher::Instance ().JoinAppData (LR"( Privexec\Privexec.json) " );
5360 if (!bela::PathExists (file)) {
5461 if (!AppAliasInitializeBuilt (file)) {
5562 return false ;
0 commit comments