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 种方法可以解决此问题:

  1. (更简单)使用 Advanced Installer Express 制作 MSIX 包或更改工作目录。
  2. (更难)使用 MSIX 包支持框架来修复工作目录。