Qt安装程序,覆盖之前的版本。

4

我正在使用最新的Qt Installer版本2.0.3。我创建了一个安装程序,但当我尝试安装时,出现以下错误消息:"您选择的文件夹已存在并包含一个安装程序。请选择不同的目标进行安装"

我该如何告诉Qt Installer覆盖旧版本?这是否得到了官方支持?

3个回答

5

使用MaintenanceTool。它位于Qt安装的根文件夹中,在Linux上是

bash -c "$HOME/Qt/MaintenanceTool"

enter image description here


5
请详细说明。 - Joe C
谢谢。为什么他们不把这个放在开始菜单里,我真是不理解。 - Gaspa79

1

你应该使用下面的代码。你的应用程序将始终具有相同的ID,并且您将能够覆盖您的应用程序。

function Controller()
{
    installer.setValue("ProductUUID", "YourApplicationName");

    var previous = installer.value("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\YourApplicationName\\InstallLocation");
    if(previous !== "")
    {
        installer.setValue("TargetDir", previous);
        installer.setDefaultPageVisible(QInstaller.TargetDirectory, false);
    }
}

0

不,出于某些原因它并没有得到官方支持。要让它正常工作,你需要进行一些黑客攻击。我已经在我的问题的答案中列出了适用于我的步骤。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接