Visual Studio 2019でWTLを使う

どっこい生きてるWTL。
もともとはMicrosoftが作ったWindows用のフレームワークで、今でもオープンソースコミュニティによって細々とメンテナンスされている。
ヘッダオンリーテンプレートライブラリなので、ARM64でもそのままビルドできたりする。
EvMUTEでも使っています。

Visual Studio 2019で使うにはちょっと気を付けないといけないポイントがあったので、ここにメモしておく事にした。

ダウンロード

Windows Template Library (WTL)
https://sourceforge.net/projects/wtl/

ZoneIDを解除する

ダウンロードしてきたZIPファイルにはZoneIDが付いてしまう、そのまま解凍すると内容物までZoneIDが付与されてしまうので、解凍前に解除する。

Zip File Property

HTMLやJavaScriptファイルにZoneIDがついていると、その動作にセキュリティ上の制限がかかるので正しく動作しない。

解凍後に解除したい場合、PowerShellを使えば対象ファイルを一括で解除できる。

dir -r | Unblock-File

ZIPを解凍して適当な場所にコピーする

ヘッダファイルの参照先にもなるので使いやすい場所にコピーする。1

“Visual Studio Extension Development” ワークロードをインストールする

これをインストールしていないとAppWizardの起動に必要なファイルが足りないらしい。

Visual Studio Installer

Visual Studio Installerから「Visual Studio拡張機能の開発」を追加する。

AppWizardを登録する

内容物の中のAppWizard\Setup.jsをダブルクリックで実行すると自動的に登録される。
これによって、VisualStudioにWTLの新規作成ウィザードが追加される。

ソリューションを作ってみる

新しいプロジェクトの作成からWTLを検索すると出てくる”WTL10 Application Wizard”を指定する。

Create New Project

以下のウィザードダイアログがエラー無く表示されたら導入は成功。

WTL Application Wizard

JavaScriptエラーが出る場合は、正しく配置されていないか、前述のZoneIDの解除ができてないからやりなおし。

Includeパスを追加する

作ったプロジェクトにincludeパスを追加する。

Project Property Page

ビルドできれば導入完了。

  1. 豆ちしき)こういう操作をエクスプローラーから行う場合は必ず「コピー」操作で実行すること。絶対に「移動」を使わない(理由はACL情報の適用動作が違うから)

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.