MSIX 打包工具:已安装的应用正在 system32 中查找图标,但未找到
MSIX Packaging Tool: Installed app is looking for icon in system32 and isn't found
所以我完成了我的应用程序,使用 Inno Setup 创建了一个安装程序,并且该安装程序工作正常。
当我使用 MSIX 打包工具制作 MSIX 包、安装它和 运行 应用程序时,我得到 this error 说它无法在 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]
中安装应用程序,我检查了应用程序文件夹,应用程序和图标都安装在那里。
所以我相当确定 MSIX 打包工具将工作目录设为 system32,大约有 2 种方法可以解决此问题:
- (更简单)使用 Advanced Installer Express 制作 MSIX 包或更改工作目录。
- (更难)使用 MSIX 包支持框架来修复工作目录。
所以我完成了我的应用程序,使用 Inno Setup 创建了一个安装程序,并且该安装程序工作正常。
当我使用 MSIX 打包工具制作 MSIX 包、安装它和 运行 应用程序时,我得到 this error 说它无法在 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]
中安装应用程序,我检查了应用程序文件夹,应用程序和图标都安装在那里。
所以我相当确定 MSIX 打包工具将工作目录设为 system32,大约有 2 种方法可以解决此问题:
- (更简单)使用 Advanced Installer Express 制作 MSIX 包或更改工作目录。
- (更难)使用 MSIX 包支持框架来修复工作目录。