Visual Studio 2017 MSDN 版でオフライン用インストールファイルを作る

MSDN サブスクライバーダウンロードで Visual Studio 2017 をダウンロードすると、Web インストーラーがダウンロードされてきます。Visual Studio 2017 からは ISO イメージの提供はありませんので、ネットワーク環境でのインストールが前提になります。ただ、当然のことですが、オフライン環境でもインストールできないと困るわけで…。
MSDN で提供される Visual Studio 2017 Enterprise 版は

mu_visual_studio_enterprise_2017_x86_x64_10049783.exe

がインストーラーです。(これがダウンロードされる)
これを使って、オフラインインストール用のキャッシュを作成することができます。
コマンドプロンプトを開いて

mu_visual_studio_enterprise_2017_x86_x64_10049783.exe --layout "G:\VS2017\Disk" --lang ja-JP

と実行すると、G:\VS2017\Disk にVisual Studio 2017 Enterprise の日本語インストール用のファイルをすべてダウンロードしてくれます。 ちなみに上記のダウンロードで70分くらいかかり、フォルダーサイズは約 20.7GB になりました。
コマンド打ったら、放置しておくのがよさそうです。待つのは辛いです。
このフォルダーごとインストール環境にもっていって、Disk 直下にある

mu_visual_studio_enterprise_2017_x86_x64_10049783.exe

を実行することで、オフライン環境でインストールすることができます。

参考情報

広告

Azure SDK v2.7 で ローカルの SQL Server を使いたい

何度目かの更新ですが、最新の Storage Emulator v4.1 データベースの初期化方法です。
今は、AzureStorageEmulator.exe を使うようになっています。

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator

に AzureStorageEmulator.exe があります。

開発とテストのための Azure のストレージ エミュレーター使用
https://azure.microsoft.com/ja-jp/documentation/articles/storage-use-emulator/

を見ると、ストレージ エミュレーター コマンド ライン ツールのリファレンスがあるのですが…。
次のコマンドでローカルの SQL Server インスタンス内にデータベースを作成して初期化してくれます。
-sqlinstance の後ろに「 . 」があるので注意。

AzureStorageEmulator.exe init -server コンピューター名 -sqlinstance . -forcecreate -inprocess

AzureStorageEmulator_初期化

エミュレーターのバージョンでちょくちょくコマンドが変わっているような気がしている。
なお、2015/10/11 時点の最新の SDK は v2.7.1 になっていて、ストレージエミュレーターは v4.2 ですが、方法は同じです。

Visual Studio 2012 以降には MAPI ヘッダーが無い

何とも肩身が狭い MAPI です。
Visual Studio 2012 以降には標準で MAPI ヘッダーはありません(インストールされません)。
SDK v8.0 や v8.1 にも入っていません。
MAPI プログラミングをする際には別途、MAPI 関連のヘッダーをダウンロードする必要があります。

なんだかねぇ。

Windows Azure SDK v1.6 で SQLExpress ではなく、SQL Server を使う

Windows Azure SDK で SQLExpress ではなく、SQL Server を使う」 の更新です。
最新の Azure SDK は、v1.6 です。

v1.6 では、DSInit の場所が変更されています。
どこにあるかというと

C:\Program Files\Windows Azure Emulator\emulator\devstore

にあります。
なお、コマンド自体は同じです。

SQL Server のデフォルトインスタンス名で作成する場合は、次のコマンドになります。

DSInit /sqlInstance:. /forceCreate

AzureTools_Cmdv1.6

AzureTools_DSInitv1.6

作成されるデータベース名も変更されていて、DevelopmentStorageDb20110816 になります。

Silverlight 5 開発者用ツールのリンク

Silverlight 5 がリリースされ、併せて、開発者向けツールの日本語版がリリースされました。
自分用のメモという意味もありますが、URL を紹介します。

さらに、Silverlight Toolkit もインストールしておきましょう。Silverlight Toolkit は、Codeplex によって公開されています。

  • Silverlight Toolkit の URL
    Silverlight Toolkit は、標準のコントロールを拡張してくれる部品です。最新のコントロールは基本的に、こちらで実装され
    Silverlight の次のバージョンに取り込まれるという開発スタンスをとっています。

SilverlightToolkit_ページ

ここのページはぜひともチェックしておきたいサイトです。
「Silverlight 5 samples」をクリックすると、サンプルページに進み、様々なコントロールを実際に確認することができます。

SilverlightToolkit_サンプルページ

世の中的には、HTML5 ですが…。

WTL 8.1 11324 リリース

正式にパッケージングされた WTL Version 8.1 build 11324 が 2011/11/20 付けで公開されました。

前回の正式ビルドが、9127 だったので、結構、間が開きました。
一番のエンハンスは、正式ビルドで Ribbon サポートとなったことです。
以前、記事で 「WTL の最新版で Ribbon」 をアップした際、9127_rev448 というビルドを紹介しましたが
正式版がリリースされましたので、ビルド 11324 の方をお使いください。
(rev448 のダウンロードは停止しました)

見たところ、Ribbon ヘッダーである atlribbon.h は、rev448 と変更はありませんでしたが、
早速、11324 を組み込み、WTL ウィザードのままで、ビルドしてみました。

WTL11324_app

きちんと、Ribbon になっていますね。
オリジナルは、英語リソースですが、早速、リソースを日本語化してみました。

WTL の最新版で Ribbon

WTL(Windows Template Library)の最新版についてです。

元々、WTL は ATL に含まれていた軽量の Windows コントロール開発用のテンプレートだったのですが、
ATL から独立して、WTL という名前で独り立ちして、パッケージングされました。
そして、現在は、オープンソースプロジェクトとして公開されています。
MFC と違い、再頒布モジュールを必要とせず、C++ テンプレートをベースに軽量な Windows アプリケーションを
開発することができます。個人的にもかなりお勧めのフレームワークです。

現在の最新バージョンは 8.1.9127 というバージョンです。

WTL にはインストーラーというものはなく、登録スクリプトを実行して、プロジェクトテンプレートを
VC++ ディレクトリに配置、インクルードヘッダーを手動で設定という、なんとも、ローテクな方法で
インストール & 設定します。

ところが、これはメジャーアップのパッケージバージョンであり、これ以降、多くのエンハンスが行われています。
8.1.9127 のままでは、VC++9.0(VS2008 C++) 用の登録スクリプトまでの対応になっているのですが、
VC++1.0(VS2010 C++) 用の登録スクリプトも用意されています。もちろん、WTL で提供されているテンプレートヘッダー
自体は VC++10.0 でもまったく問題なく使用することができます。

WTL プロジェクトの最新バージョンでは、Windows Vista/7 に対応したリボンの実装が行われていて、テンプレートベースの
開発でリボンを使用することができます。これを使わないのは非常にもったいなので、私の方で、最新ビルド(rev 448)を
パッケージングして、さらに、日本語化してみました(リクエストがあったので)。
パブリック公開しますので、自由に使用してください。
なお、ライセンスは WTL に従います。WTL プロジェクトの方で正式にパッケージングされたら、そちらを使用してください。

この投稿の続きを読む

Windows Azure SDK で SQLExpress ではなく、SQL Server を使う

このブログでは初の Windows Azure ネタです。

Visual Studio 2010 環境に Windows Azure SDK v1.4 をインストールして使っているのですが、
サーバーエクスプローラーにある 「Windows Azure ストレージ」 を展開すると…

AzureTools_VS2010ストレージ

残念なエラーが表示されました。

AzureTools_SQLError

この投稿の続きを読む

ATLTRACE と ATLTRACE2 で日本語文字列を使うと

たまたま、ATL を使って UNICODE ビルドでプログラムを書いていた際に気が付いたので、自分用に。
ATL or WTL を使っている際、よくデバッグ用に ATLTRACE2(ATLTRACE)を使い、VS の出力ウィンドウに
デバッグ用途で出力させますが、文字列に日本語を指定したところ、

ATLTRACE2(atlTraceGeneral, 0, TEXT("リンクファイル名: %s\n"), strPath);

出力ウィンドウに

_CrtDbgReport: String too long or IO Error

と表示されました。はっ?何ですか?これ。(プログラムは正常に動きます)

あまりというか、文字列に日本語を書くことがなかったので、初めて気が付きました。
文字セットを「マルチ バイト文字セットを使用する」にすると、何事もなく表示…。
で、文字セットを「Unicode 文字セットを使用する」にすると、先のエラーに。

VS2010ビルドプロパティ_文字セット

30 秒程悩んだところ、以前、コンソールプログラム(Unicode ビルド)でも日本語を表示しようとしたときに
”はまった”記憶があったので、もしや、これも、ロケールの問題かと思い、試してみたところ、ビンゴでした。
何をやって回避したかというと、一行

_wsetlocale(LC_ALL, L"japanese");

もしくは、

setlocale(LC_ALL, "japanese");

を追加しただけです。これで、ATLTRACE2 で日本語文字列を表示することができました。

今回は、第二引数に ”japanese” と指定しましたが、

_wsetlocale(LC_ALL, L"");

もしくは、

setlocale(LC_ALL, "");

でも構いません。
第二引数となる locale を空にした場合には、OS から ANSI コードページを取得して設定してくれます。
ちなみにですが、プログラムのスタートアップ時には上記 URL にも説明があるように LC_ALL=”C” で実行されています。

今回は、Visual Studio 2010 を使った際に起こった現象だったのですが、試しに Visual Studio 2008 でも試してみたら
同様のことが起こりました。ATL の仕様といえば、それまでですが…。
UNICODE ビルドする際には、注意ですね。

もしかして、これって有名な話しだったりするのかな。