VCL Styles for Inno Setup を使用してインストーラーをスキンしようとしたところ、小さな問題が発生しました。誰かが助けてくれることを願っています。
あらかじめお詫び申し上げます。私はしばらくの間、これらをいじくり回しており、あちこちのクリップを取り込んで、自分のインストーラーで希望どおりに動作させるようにしましたが、プログラミングに関しては決してグルではありません. 実際、それは私に片頭痛を与えますが、どうにかしてそれを成し遂げなければなりません. 要するに、私のコーディングは決してエキスパートではありませんが、物事を成し遂げようとしています。
私は 2008 年に作成したインストーラーを使用しています。つい最近、インストーラーに追加して、より自動的に実行するようにし、洞察に富んだプロンプトを減らし、見栄えを良くしたいと考えました。
最初に作成したときに Sherlock Software の InnoTools Downloader を追加しましたが、それ以来、まったく問題なく使用しています。
VCL Styles を追加したばかりですが、InnoTools Downloader 内に、残りのインストーラーと一緒にスキンを適用する方法がまったくわからない要素があります。それ以外は問題ないように見えますが、ダウンロード ページ内の小さなボックスが灰色でした。
そこで、Mitrich Software の Inno Download Plugin を試してみました。ねえ、灰色のボックスは消えましたが、くそっ.. エラー ウィンドウのテキストは、白い背景に明るい灰色で、判読できません。
さらに検索を行ったところ、How to apply VCL styles to DLL-based forms が見つかりました。以下を使用して Sherlock Software の InnoTools Downloader をロードしようとしたとき:
procedure DllLoadStyle(const StyleFilename: WideString);
external 'DllLoadStyle@files:itdownload.dll stdcall';
エラーが発生しました:不明なタイプ 'WideString'
ANSI バージョンの Inno Setup を使用しているのは、何年も前に最初に Unicode バージョンを試したときに InnoTools ダウンローダーが台無しになり、それ以来 ANSI を使用しているためです。
VCL が既に使用していたフォーマットに合わせて、WideString をただの String に変更してみました。
procedure LoadVCLStyle(VClStyleFile: String);
external 'LoadVCLStyleA@files:VclStylesInno.dll stdcall';
しかし、残念ながら、インストーラーの実行時にエラーが発生しました。
Runtime Error (at -1:0):
Cannot Import dll:C:\...\Temp\is-XXXXX.tmp\itdownloaded.dll
1) 両方のダウンローダが外部の .dll を使用しているため、この部分をスキン化するのはちょっと運が悪いのでしょうか? 2) VCL にページ上のその要素をスキンするように指示する方法はありますか? 3) どちらの .dll ファイルも、リンクされたページ (および元の VCL .dll ファイル) と同様の方法でロードできますか? 4) Inno Setup の Unicode バージョンを使用すると、これを解決するための追加の手段が得られますか (元のインストーラーで大量のコードを書き直す必要がない限り)?
申し訳ありませんが、現時点では、新しいページとの関係がよくわかりません。私がインストーラーで行ったことのほとんどは、MsgBox を使用して、ユーザー入力を必要とする可能性のある新しい更新やその他の通知がある状況でそれらを処理する必要がないようにします。
役立つ場合は、インストーラーの 1 つから取得したサンプル コードをまとめます。要求があれば投稿できます。おそらく、実際のプログラマーにとっては大きな混乱であり、誰もが頭を悩ませたくない (またはむち打ち症でうんざりして頭を振っている) のを見ることさえできますが、それが役立つかどうか、または私が既に入れたものがここで、私が何に遭遇したかを説明するのに十分です。
評判が10になったらサンプル画像も載せますので参考になさってください。
私はいつでもそれを受け入れることができますが、それを修正したいと思っています。これが私の最初の質問であるため、不明な点がある場合は事前に謝罪します.
助けと洞察を前もって感謝します。
Inno Setup 1.2.2.1 の VCL スタイル / ispack-5.5.5.exe からインストールされた Inno Setup 5.5.5a / InnoTools Downloader 0.3.5 / Inno Download Plugin 1.4.0。
編集:画像を追加しました(そうするためのポイントをありがとう)。ダウンロードに失敗したというエラーは無視してください。ウィンドウとポップアップのスキニングをキャプチャするボックスが停止してポップアップするようにしました。