Итак, я закончил свое приложение, сделал установщик с помощью Inno Setup, и этот установщик работает нормально.
Когда я создал пакет MSIX с помощью MSIX Packaging Tool, установил его и запустил приложение, я получил это ошибка о том, что не может найти значок в system32. Я попытался добавить несколько строк в код своего приложения, чтобы помочь найти путь, но это не сработало.
#original code
current_path = os.path.dirname(os.path.abspath(__file__))
icon_path = os.path.join(current_path, "icon.ico")
#new code
if(not os.path.exists(icon_path)):
tpath = "c:\Program Files (x86)\App Name\icon.ico"
if(os.path.exists(tpath)):
icon_path = tpath
else:
tpath = "d:\Program Files (x86)\App Name\icon.ico"
if(os.path.exists(tpath)):
icon_path = tpath
else:
tpath = "e:\Program Files (x86)\App Name\icon.ico"
if(os.path.exists(tpath)):
icon_path = tpath
else:
tpath = "f:\Program Files (x86)\App Name\icon.ico"
if(os.path.exists(tpath)):
icon_path = tpath
else:
tpath = "c:\Program Files\WindowsApps\AppName_1.0.0.0_x64__s235487e6trvr\VFS\ProgramFilesX86\App Name\icon.ico"
if(os.path.exists(tpath)):
icon_path = tpath
else:
glo = glob.glob("c:\Program Files\WindowsApps\AppNa*")
for filename in glo:
tpath = os.path.join(filename, "VFS\ProgrameFilesX86\App Name\icon.ico")
if(os.path.exists(tpath)):
icon_path = tpath
break
Я понимаю, что часть или большая часть этого кода не нужна, но я просто пытался исправить эту досадную проблему.
MSIX устанавливает приложение в c:\Program Files\WindowsApps\[some more folders]
, и я проверил папку приложения, и приложение и значок установлены там.