問題タブ [inno-setup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
vb6 - Vista ファントム ディレクトリ
インストーラーが構成ファイルの存在を確認するプログラムがあり、存在する場合はそのファイルをコピーしません (ユーザーが構成ファイルを変更し、それらの変更を保持したいと想定しています)。残念ながら、これは Vista より前のアプリケーションであり、構成ファイルを Program Files に保持します。問題は、特定の API を再インストールするときにディレクトリを手動で消去しても、そこにディレクトリがあると認識されることです。たとえば、VB6 では、ファイル ダイアログの参照ではフォルダーが表示されますが、エクスプローラー、コマンド シェルなどではフォルダーが表示されません。ファイルを上書きすると、古いファイルがそこに残ります (一部の API では、エクスプローラーではなく) ファイルの参照ダイアログ内のフォームを除いて削除できません。
これらの Phantom フォルダで何が起こっているのでしょうか? また、すべての API が同じものを見るようにファイルを削除するにはどうすればよいでしょうか? TxF 、または検索用のインデクサーに関係している可能性がありますが、使用するインストーラー (InnoSetup) とアプリケーションの一部 (VB6 で記述された部分) の両方がファイルの古いバージョンを認識しており、他のすべてはファイルの古いバージョンを認識しています。現行版。
windows-installer - Inno Setup を使用して条件付きで x64 ドライバーをインストールする
Inno Setup を使用して、必要なすべての前提条件を備えた WiX で生成された .msi ファイルをブートストラップしようとしています。
ほとんどの場合、これはうまく機能していますが、Windows インストーラーのように、条件付きで x86/x64 に基づく前提条件のインストーラーをインストールして実行するための情報を見つけることができません。
誰でもこれで運がありますか?ドライバーが 1 つしかないという理由だけで、個別の x64 インストーラーを用意しないようにしています。私がブートストラップしているアプリケーションは x86 で実行され、x64 のサポートは WOW に依存しています。
ありがとう!
windows-installer - Inno Setup の msi リターン コード
複数の .msi ファイルをサイレント モードで呼び出し、失敗した場合はインストール全体を停止したいと考えています。
[run] セクションから呼び出された msiexec.exe のリターン コードを取得することはできますか?
現在、Windows イベント ビューアでしかエラー メッセージを表示できません。
installation - .msiのブートストラッパーとしてのInnoSetup
Inno Setupを使用して、Windowsインストーラーのインストールパッケージにいくつかの前提条件をブートストラップしようとしていますが、これでかなりの幸運があります。
Inno Setupパッケージを作成して、[プログラムの追加と削除(ARP)]ウィンドウオプションに表示されないようにすることができるかどうか疑問に思っていますか?
別々のインストールを一緒にインストールしたいのですが(それぞれが条件付きです)、別々に削除します。
Inno Setupによって生成された一時フォルダーにインストールパッケージをインストールしているので、実際のファイルはインストールシーケンスの最後に削除されますが、ARPはまだ表示されています。
.net - 長い Exec の実行中に Inno Setup がフリーズしていないようにするにはどうすればよいですか?
ロングExec
は.NET 3.5をインストールしており、アウトスクリプトはこれに基づいています:
http://www.blackhillsoftware.com/blog/2006/06/26/using-innosetup-with-the-dotnet-framework/
問題はewWaitUntilTerminated
、終了コードをキャプチャする必要があるために使用していることです。/passive /norestart
ユーザー側の作業が少なくなるように実行しているため、少し悪化しています(そうすべきではないのでしょうか?)。
私が考える最も簡単なオプションは、.NET のインストール中にウィンドウを非表示にし、完了後に再び表示することですが、その方法がわかりません。
理想的な解決策は進行状況ページを表示することですが、すぐに戻る必要があるため、プロセスが終了して終了コードをキャプチャするときに何らかの方法で通知を受ける必要があるため、それは可能ではないようです。永遠の進行状況バーがあるだけです。
これをどうやって進めるかについてのアイデアはありますか?
編集:最小化する方がおそらく良いでしょうが、それを行う方法もわかりません。プロセスに 10 ~ 20 分かかる可能性があることをユーザーに通知するメッセージが表示されますが、問題は、メインのセットアップ フォームが完全にフリーズしており、移動、最小化、または何もできないことです。また/passive
、.NET インストーラーを実行しても、低速のマシンでは 1 ~ 2 分ほど進行状況が表示されません。
c# - Vista & C# - ドラッグ アンド ドロップの問題 (標高とは関係ありません)
問題のアプリケーションは .Net 2.0 Framework WinForms です。大規模なユーザー ベース (CD からのインストール) で動作するはずです。InnoSetup を使用してインストールを行います。
2 台のマシンで、アプリケーションがドラッグ アンド ドロップを受け入れません (アプリケーションと D&D のソースの両方が同じ標高レベルです)。
アプリケーション ショートカットの INTERACTIVE SID に Read & Read&Execute 権限を追加することで、この問題は解決されるようです。
質問: これらの権利の追加と D&D はどのように関連しており、インストール プロセスでこれらの権利を確認/設定する方法を教えてください。
return-value - コマンドラインアプリからInnoSetupに文字列値を渡す
シナリオは、IP/ポート番号で指定されたサーバーからクライアントをダウンロードするInnoSetupを使用して、クライアントインストールがブートストラッパーであるクライアント/サーバーアプリがある場合です。UDPブロードキャストを介してローカルネットワーク上にサーバーがあるかどうかを検出できるようにしたいので、それを実行するコンソールアプリを作成できます。問題は、コンソールアプリからインストーラーに情報を渡す方法です。
リターンコードをキャプチャすることはできますが、それはintにすぎません。私の知る限り、Inno Setupでファイルを読み取る機能はプリプロセッサのみであるため、コンソールアプリによって実行時に作成されたファイルを読み取ることはできません。私が考えることができる唯一のことは、最初の4桁がポートの前の「。」と:の位置であるintを返し、値を解析することです。これは、特に考慮して、ハック、薄っぺら、エラーが発生しやすいようです。私は、文字列を作成するためのInnoSetup構文/関数に精通していません。
助言がありますか?
inno-setup - すべてをアンインストールするように Inno Setup を設定する方法は?
Inno Setup は初めてです。1 つの問題で立ち往生 ~ アプリケーションによって作成されたすべてのファイル、フォルダー、サブフォルダー、さらには新しいファイル/フォルダーなどを削除するようにアンインストール ピースを構成する方法 (つまり、アプリケーションと関連ファイルの 100% の削除)。
私はここと彼らのフォーラムで狩りをしましたが、空っぽになりました。これを行う方法に関するドキュメント、FAQなどを誰かに教えてもらえますか?
アップデート
これまでのすべてのフィードバックに感謝します (非常に素晴らしい)。したがって、アンインストール セクションの {app}*.* ディレクティブを使用してすべてを削除できるようです。また、誰もがそれに反対しているようです。したがって、質問は次のようになります(これはまったく新しい質問であるかどうか疑問に思っています) アンインストール中に、ユーザーに「このアプリケーションに関連付けられているすべてのプロジェクト ファイルを削除しますか?」と尋ねる方法はありますか? そして、YES と答えた場合、アンインストール {app}*.* ピースを実行しますか?
ありがとう -
inno-setup - Pascal (innosetup) を使用してファイルの最終更新時刻を取得する
innosetup スクリプトのアンインストール部分で、特定のファイルの最終更新日時が過去 10 分以内に発生したかどうかを確認するチェックを追加したいと考えています。
このための innosetup 互換パスカル コードを知っている人はいますか?