2016-06-21 4 views
1

最新のQtインストーラバージョン2.0.3を使用しています 私のアプリケーションのインストーラを作成しましたが、インストールしようとすると次のエラーメッセージが表示されます: "既に選択したフォルダ存在し、インストールが含まれています。インストールの別のターゲットを選択してください。 "Qtインストーラは以前のバージョンを上書きします

Qtインストーラに古いバージョンを上書きするように指示する方法を教えてください。これは正式にサポートされていますか?

答えて

1

メンテナンスツールを使用してください。それはqtのインストールのルートフォルダにあります

+1

詳細をお知らせください。 –

0

これは少し遅いですが、とにかくです。

インストールの不一致によって上書きが無効になっています。

installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes); 

サンプルスクリプト(sample.qs):

function Controller() 
{ 
    installer.autoRejectMessageBoxes(); 
    installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes); 

    // ... 
} 
あなたのコントローラースクリプトで次のステートメントを追加することによって、あなたはこれを達成することができ、 https://bugreports.qt.io/browse/QTIFW-482

しかし:
このバグレポートを見てみましょう

Controller Scriptingのドキュメントへのリンクは次のとおりです。 http://doc.qt.io/qtinstallerframework/noninteractive.html

これで、カスタマイズされたスクリプトでインストーラを起動することができます

$ installer --script sample.qs 
+0

これは機能しません。これは、インストールが含まれていない既存のディレクトリにインストールする場合にのみ機能します。 – rationalcoder

+0

@rationalcoder:以前はプロダクションコードで使ってきましたが、それは魅力的なものです。私は静かな再インストールが必要でしたし、スクリプトを使ってそのトリックをやりました。 Qtインストーラフレームワークにそれ以上の変更がないかどうかわかりません。ウィザードでは、既存のインストールのために再インストールができません(私の答えのバグレポートを参照)。 – Azeem

+0

ウィザードを正常に実行するとどうなりますか? – rationalcoder

0

いいえ、それは正式に何らかの理由でサポートされていません。それを動作させるには、いくつかのハッキングを行う必要があります。私はmy questionの答えの中で私にとってうまくいくステップを列挙しました。

関連する問題