私はこの C# Visual Studio プログラミング環境にまったく慣れていませんが、タスクを完了する必要があります。私の質問がばかげていると思われる場合は、申し訳ありません。しかし、このサイトやネット上の他のサイトの他の投稿が何を説明しているのか、私は本当に理解できませんでした. この最終ステップを実行してタスクを完了するためのステップバイステップガイドが必要です。
Visual Studio 2008 を使用して作成された MCC というアプリケーションが提供されました。ただし、DEP の問題により、このアプリケーションは Window Vista で正しく実行できませんでした。MCC には、IP カメラからの映像を表示する機能があります。これには、AxGif89aLite の ActiveX コントロールが必要でした。ただし、Vista の DEP はデフォルトで有効になっています。PE ヘッダーのフラグ IMAGE_DLLCHARACTERISTICS_NX_COMPAT では、このコントロールを使用できません。いくつかのテストが実行され、これが問題であることが確認されました。
オンラインの記事 http://blog.dyadica.net/archives/data-execution-prevention-workaroundから、MCC ポスト ビルド イベントに以下を追加する必要があることが示唆されています。
$(DevEnvDir) を呼び出します。\tools\vsvars32.bat
editbin.exe /NXCOMPAT:NO $(C:\Program Files\Aerocut\MCC\MCC2.exe)
そこで、これを追加して MCC ソリューション ファイルを再構築します。次に、この最後のステップで必要なことがわかりません。
Visual Studio でバイナリに署名する場合、バイナリの署名後にビルド後の手順で IMAGE_DLLCHARACTERISTICS_NX_COMPAT フラグを反転すると、アセンブリが厳密な名前の検証に失敗することに注意してください。この問題を回避するには、ビルド後の手順の一部としてバイナリに署名します。これを行うには、Windows SDK の SN.EXE を使用します。
この署名バイナリとは何か、私は本当に混乱しています。
- 私がグーグルで検索した情報によると、アプリケーションに署名すると、プログラムの証明書が取得されるため、より安全になります。
- コンピューターに SN.EXE を取得しました。しかし、ビルド後のステップとしてバイナリに署名するにはどうすればよいですか? バイナリは、コンパイル済みの実行ファイルである必要があります。
再構築したセットアップ ファイルで MCC を再インストールしました。それでも次のエラーが表示されます。
「AxGif89aLite」コントロールのウィンドウ ハンドラを取得できません。ウィンドウレス ActiveX コントロールはサポートされていません。
助けていただければ幸いです。ここでまずお礼を申し上げたいと思います。