.net でアプリケーションを構築しています。これは、.net 3.5 を使用するイメージ ビューアー アプリケーションです。このアプリケーションは、他のイメージと共に CD に収録されます。
私の質問は、.NET フレーム ワークが含まれていないマシンに CD を挿入したときに、このアプリケーションを自動実行することは可能ですか?
または、CD から実行されるアプリケーションを構築するその他の方法。
.net でアプリケーションを構築しています。これは、.net 3.5 を使用するイメージ ビューアー アプリケーションです。このアプリケーションは、他のイメージと共に CD に収録されます。
私の質問は、.NET フレーム ワークが含まれていないマシンに CD を挿入したときに、このアプリケーションを自動実行することは可能ですか?
または、CD から実行されるアプリケーションを構築するその他の方法。
自動実行は Windows の機能です。.NET とはまったく関係ありません。CD のルートに適切なファイルを配置することで使用できます。
参照: http://en.wikipedia.org/wiki/AutoRun
.NET フレームワークがインストールされていない .NET アプリを実行するには、Autorun.inf をアプリケーションのインストーラーにポイントします。これは CD にも展開されます。
必要なライブラリが見つからない場合、アプリケーションは直接実行できません。
できることは、.NET に依存しないブートストラッパーを作成し、フレームワーク インストーラーを含めることです。
そのため、CD の自動実行時にブートストラップを実行すると、ブートストラップがインストーラを実行します。インストールしたら、アプリケーションを実行します。
私はこれを数回行うためにmonoを使用しましたが、他の回答で述べた静的リンクではなく、CD(またはそのサブセット)にmonoディストリビューションを含めることによって行いました。Monoは、レジストリ、system32などを変更する方法にはあまり影響を与えないようです。したがって、ifのxcopyデプロイメント、またはこの場合はCDデプロイメントを実行できます。最終的にmono.exeを実行することになります
いいえ、.NET Framework がインストールされていないコンピューターで .NET アプリケーションを実行することはできません。これは難しいルールであり、非常に直感的なルールのように思えます。どういうわけか、この質問はまだ多く聞かれます。
しかし、Auto Run は .NET Framework とは何の関係もありません。これは、Windows オペレーティング システムによって提供される機能であり、ユーザーの操作を一切必要とせずに、挿入されたインストール メディアからセットアップ/インストール プログラムを直接実行するように設計されています。
したがって、あなたがすべきことは、.NET アプリケーションのセットアップ プログラムを作成することです。これは、Visual Studio 内から実行できます。Windows フォーム アプリケーションの代わりにセットアップ プロジェクトを作成するだけです。セットアップ プログラムは、コンピュータに適切なバージョンの .NET Framework がインストールされているかどうかを検出し、必要に応じてアプリケーションと共にインストールします。セットアップ ブートストラップは .NET Framework がインストールされていなくても実行できるため、自動起動するアプリケーションとしてautorun.inf
指定するだけのファイルを作成できます。setup.exe
Mono は、インストールを必要としない何らかの形式の静的リンクをサポートしていると思います。しかし、私はそれを自分で試したことはありません。