私のシナリオをよりよく説明しましょう。ネットワークドライブから.exeを起動したいのですが。Win XPタスクマネージャでチェックインすると、1つのコンポーネント(プログレスバー)を持つ小さな.net4フォームが約20MBのメモリを消費することに気づきました。したがって、スプラッシュフォームが読み込まれると、タスクバーで約20MBのメモリが使用されます。
したがって、.exeがネットワークドライブから起動された場合、クライアントマシンは、フォーム全体がメモリにロードされてから表示されるまで待機する必要があります。これには約2〜3分かかります。したがって、20MBがロードされるのを待つ必要があります。ネットワークドライブから.exeを起動したときにすぐにスプラッシュ画面を表示するための最良の方法は何でしょうか?20MBが完全にダウンロードされるのを待つ代わりに、クライアントメモリにダウンロードされたのが1MB未満のときにスプラッシュ画面を表示することは可能ですか?これを行う方法について提案をいただけますか?
クライアントマシンのタスクマネージャーを見てこれを確認しました。.exeが約20MBに達するまで、スプラッシュフォームが表示されます。次に、.exeが約40MBに達するまで待機して、メインフォームを表示します。exeがネットワークドライブから起動されてから2秒以内にスプラッシュを表示して、exeの読み込みが約2〜3分で完了することをユーザーに知らせたいと思います。では、これをどのように達成するのでしょうか?
ちなみに、クライアントマシンはオフサイトにあり、マシンを中央ファイルサーバーに接続するVPNがあるため、ロードに時間がかかります。アップロードリンクが最大1Mbであるため、読み込みに時間がかかるのはそのためです。ただし、.exeの読み込みが完了すると、速度が低下することはありません。最善の方法は、ターミナルサービスまたはcitrixを使用することです。しかし、これは今のところオプションではありません。または、クライアントマシンに各.exeをインストールしますが、そのパスをたどりたくないです。