5

ばかげた質問かもしれませんが、これをグーグルで検索する試みはすべて失敗しました。問題は、再配布可能なプレインストールを必要としない Windows アプリケーションをどのように開発できるかということです。.NET Framework などを含まない古いバージョンの Windows でも動作するアプリケーションを作成したいと考えています。

ありがとう、イーウルフ

4

5 に答える 5

7

まず、CLR を使用しない C++ などのネイティブ言語でプログラミングします。

次に、マニフェストを無効にし、外部 DLL (STDC や MFC など) をリンクしないようにします。

于 2009-12-22T10:42:44.373 に答える
4

古いバージョンの Windows とはどういう意味ですか?
.net Framework は、Windows 2003 および .net 1.1 以降の Windows の一部です。
したがって、Windows 2003 よりも新しいバージョンの Windows を対象としている場合は、.net が利用可能であることを確認できます。

再配布可能ファイルなどを出荷する必要がないように、.net 製品のリンク/パッケージ化を自動化するソリューションもあります。

更新: Monoを使用すると、ランタイム全体を実行可能ファイルにリンクできることが
わかりました。 彼らはその機能をBundleと呼んでいます。 詳細については、こちらをご覧ください。

于 2009-12-22T10:46:39.770 に答える
3

Delphi を使用する - 新しいバージョンの IDE には奇妙なバグがいくつかありますが、再配布可能ファイルを必要としないネイティブ Windows アプリケーションを簡単に作成できます。C++/win32 よりもはるかに使いやすい。

于 2009-12-22T14:04:07.363 に答える
2

編集: eWolf が指摘したように、.NET とタグ付けされた元の質問にもかかわらず、.NET は必要ありませんでした。

つまり、Win95/98/2000 などの一部の古いマシンには、ランタイムがインストールされていない場合があります。.NET を指定したので、.NET を使用してアプリケーションを構築したいと考えています。大きな問題がありますが、.NET アプリケーションを実行する前に .NET ランタイムをインストールする必要があります。これは、次の 2 つの方法で簡単に回避できます。

  • .NET ランタイムを手動でインストールする、または
  • .NET ランタイムがインストールされているかどうかを検出できるカスタム インストーラー スクリプトを使用して、再配布可能な .NET ランタイムをインストールします。

C/C++ などのネイティブ アプリケーションについて話している場合、(依存を回避し、必要な DLL の数を最小限に抑えるため) とるべき最善の方法は、多くの Windows マシンで使用されている標準の DLL のみを使用して、未加工の WinAPI32 で開発することです。 COMMCTRL.DLL、USER32.DLL、ADVAPI.DLL などがあります。最終結果は、より小さな実行可能ファイルになります。もちろん、DLL を静的にリンクして 1 つの巨大な実行可能ファイルを形成することにより、他の DLL をバンドルすることもできます。

于 2009-12-22T11:32:03.593 に答える