UltraVNCの小技(3) — VNC Serverのビルド(1.0.8.2)

ここまで触れてませんでしたが、UltraVNC(のサーバ)をソースコードからビルドしてみます。

私が幾つかの点で躓いたので、そのメモです。
以下は、Windows 7(32bit版) 上で、VisualStudio 2008 の環境でビルドしています。

  1. ソースコードの取得
      UltraVNCのサイトからダウンロードします。
      一つ前の安定版である 1.0.8.2 を取得します。
      私は、最新バージョンの 1.0.9.5 は上手くビルドすることが出来ませんでした(必要なファイルが幾つか無いようです)。
      (バージョンの 1.0.9.5 のビルドは こちら を参照)

      http://www.uvnc.com/download/1082/
  2. ソリューションを開く
      ソースコードを解凍したら、VisualStudioより、winvnc¥winvnc.sln を開きます。
      いきなり、一部読み込めないプロジェクトがある旨のエラーが出ますが、無くても何とかなります。ソリューションを開いた後で削除してしまいましょう。

      また、デバッグに備えて、winvnc をスタートアッププロジェクトに指定しておきます。

  3. ビルド
      ソリューションのビルドを実行します。

      「ファイルが使用中で書き込めない」旨のエラーが発生した場合は、めげずに再度ビルドを実行します。
      何度かビルドを実行すれば、実行ファイル等が生成されるでしょう(競合の理由は謎です…)。

  4. デバッグ(の前に幾つか設定)
      ビルドが通せるようになっても、更に UAC 関連の設定が必要です(設定してないと「開始できません。アプリケーション構成が正しくないため、このアプリケーションの開始に失敗しました」エラーが出ます)。
      winvnc のプロパティページから「リンカ」−「マニフェスト ファイル」の設定を開きます。
      「UACの実行レベル」が「asInvoker」になっているので「requireAdministrator」に変更します。
      「winvnc.exe」の manifest ファイルと requestedExecutionLevel が一致しない旨の警告が出る場合は、これも「requireAdministrator」に変更します。

      ちなみに、私の環境では、「winvnc.exe.x64.manifest」が使われたりして、アーキテクチャが「AMD64」になってて更に怒られるので、ここらも「X86」に変更しました(プラットフォームは 「Win32」 になっているのに何故?)。尚、可能であれば、winvncリソース中の名前を「winvnc.exe.x86.manifest」に変更した上で、修正した方がよいでしょう。

      再度ビルドしたら、VisualStudio 上でデバッグできるようになっています。「デバッグ開始」しましょう。

    p.s. VNCViewer は、ビルドに関して引っ掛かる部分はありません。サクッとビルドできます。

Comments are closed.