Azure DevOps Server #2-1 VB6で使用する 環境設定

**Chapters**

📘 **Chapter #1**
　📗 **Chapter #1-1**　[継続的インテグレーション（CI）構築](https://qiita.com/tfukumori/items/ef8314857ecb545c4b15)
　📗 **Chapter #1-2**　[継続的インテグレーション（CI）手順](https://qiita.com/tfukumori/items/11d24a5eee8d77a17a80)
📘 **Chapter #2**
　📗 **Chapter #2-1**　[VB6で使用する 環境設定](https://qiita.com/tfukumori/items/37f035694751dc098fcd)
　📗 **Chapter #2-2**　[VB6で使用する プロジェクトの追加](https://qiita.com/tfukumori/items/68aca8cdc04fe76d6eee)
📘 **Chapter #A**
　📗 **Chapter #A-1**　[バージョンアップ TFS 2018 Update 1 → Update 3、検索サービスの分割](https://qiita.com/tfukumori/items/778bb2e3d913106beba9)
　📗 **Chapter #A-2**　[バージョンアップ 2019→2019 Update1](https://qiita.com/tfukumori/items/7f149928a6e413afe755)

---

# TL;DR

- ブランチを使用するために、どうしてもVB6でAzure DevOps Serverをリポジトリとして使用したい場合の手順となります。
- サポート期限切れOS等は、使用しないことが一番です。どうしても必要な場合は、セキュリティ対策ソフトの導入はもちろんのことクローズドな環境構築など、取りうる限りのセキュリティ対策が必要です。

# 留意点

- VSSにあった共有（複数の個所に同じファイルを参照する機能）が、Azure DevOpsにはないので、フォルダ構成を変えて、共通のフォルダを作り、ファイルの配置場所を変えて参照するなどの工夫が必要です。

# 環境

- Azure DevOps Server 17.143.28912.1
- Windows XP Professional SP3 32bit
- Visual Basic 6.0 SP6

# 手順

## (1) .NET Framework 4.0インストール

- Microsoft .NET Framework 4 (スタンドアロンのインストーラー)

    https://www.microsoft.com/ja-jp/download/details.aspx?id=17718

- Microsoft .NET Framework 4 Full 日本語 Language Pack (x86/x64)

    https://www.microsoft.com/ja-jp/download/details.aspx?id=3324

## (2) TFS Team Explorer 2010 インストール

- Team Explorer 2010
- Visual Studio 2010 Service Pack 1

※Visual Studio Subscription等を契約して入手する

## (3) MSSCCIプロバイダーインストール

- Microsoft Visual Studio Team Foundation Server 2010 MSSCCI Provider 32-bit

    https://marketplace.visualstudio.com/items?itemName=TFSPowerToolsTeam.MicrosoftVisualStudioTeamFoundationServer2010MSSCC

## (4) リポジトリ接続互換性のためのモジュールをインストール

- Visual Studio 2010 SP1 Team Foundation Server Compatibility GDR

    https://www.microsoft.com/en-sg/download/details.aspx?id=29082

※ Visual Studio 2010からTFS 2012以降に接続するために必要となる

## (5) 設定ファイル確認

- `%WindowsDir%\vbaddin.ini`を変更する
    - 「vbscc=1」を追加
        ※ もともとVisual SourceSafeが設定されていた場合は、vbscc=3だがこれでも問題ない模様。また1に設定しても自動的に3に書き換えられた。

## (6) Azure DevOps Serverへの接続情報を入力する

ネットワークパスワード管理の画面から、対象サーバーへのWindows認証情報を入力する
 
## (7) VB6を起動する

- 「ツール」に「Team Foundation」メニューが追加されている

## (8) チェックアウトの設定を必要に応じ変更する

### 同時チェックアウトを許可しない設定

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/d51462ea-b886-d940-07c1-94eac58101b4.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/d483019f-a042-9b83-dce9-7012e392c928.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/c7abe941-cfd6-3bdc-0d32-b13c5ba354d9.png)

### チェックアウト時に最新バージョンを取得する設定（Team Explorer 2010）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/02b30a4b-3024-6d42-4cfe-54176ba3266c.png)

## (9) Team Explorer 2010で最新バージョンを取得する

- 通常のTeam Foundation Server（Azure DevOps Server）と同様

## (10) VB6のプロジェクトを追加する

[別記事](https://qiita.com/tfukumori/items/68aca8cdc04fe76d6eee)に記載

## (11) Team Explorer 2010でVBPファイルを開いた時の既定値をVB6のIDEに設定する

1.  [TFS PowerTools 2010](https://marketplace.visualstudio.com/items?itemName=MartinWoodward.TeamFoundationServerPowerToolsDecember2011)をインストールする

2. VBPファイルの右クリックメニューから「View With...」を選択する 
   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/43cf032a-c6e0-a3d4-e5c5-4095dbe9441a.png)

3. 「追加」ボタンからVB6のIDEで開く設定を追加する
   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/7fee9188-859c-510e-5998-218cf091ae7c.png)

4. 「既定値として設定」ボタンで追加した設定を既定値とする
   ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/6b48c2e8-1553-d99b-f710-6df2bd37a9ea.png)

## (12) リポジトリから作業フォルダに再取得したプロジェクトを最初に開いたとき

プロジェクトを最初に開いたときには、以下のようなメッセージが表示される。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/9cef7aa3-f1ad-f0d1-7143-2807362d2774.png)
 
ここで「はい」を選択すると次のメッセージが表示されるので「OK」を選択する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/204150/e827fc2a-1672-d388-3000-a5d68f6be360.png)

この作業は、クライアントごと、プロジェクトごとに行う必要がある

このメッセージは、Team Explorer 2010で最新バージョンを取得した際に、`MSSCCPRJ.SCC`ファイルが存在しないために必要な作業となる。

# マージについて

- バイナリファイルのマージは難しいため、バイナリについてのマージは行わないことをお勧めします。
- マージで問題が起こる場合は、WinMerge等の外部ツールの仕様をお勧めします。

https://stackoverflow.com/questions/51969786/how-to-prevent-vb6-files-being-deformed-by-visual-studio-in-tfs-diff-tool

https://knowledge.reontosanta.com/archives/939

上記ページより設定部分を引用

> 比較の設定
> 
> 拡張子：”.*”
> 操作：”比較”
> コマンド：”C:\Program Files\WinMerge\WinMergeU.exe”
> 引数：”/wl /wr /dl %6 /dr %7 %1 %2″

>  マージの設定
> 
> 拡張子：”.*”
> 操作：”マージ”
> コマンド：”C:\Program Files\WinMerge\WinMergeU.exe”
> 引数：”/wl /dl %6 /dr %7 %1 %2 /o %4″