[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

# D COM Version 1.0 for OpenVMSからCOM Version 1.1 for OpenVMSへのアップグレード

# D.1 COM for OpenVMSの以前のバージョンからのアップグレード

ここでは，COM for OpenVMSの以前のバージョンからアップグレードするときに必要な手順について説明します。

## D.1.1 既存のCOM for OpenVMSアプリケーションの再構築

COM for OpenVMSアプリケーションに次のいずれかのAPI に対する参照が含まれる場合は，その参照を含むモジュールを再コンパイルし， アプリケーションを再リンクしなければなりません。
`LoadLibraryA`
`LoadLibraryW`
`LoadLibraryExW`
`LoadLibraryExA`
`GetModuleFileNameA`
`GetModuleFileNameW`
`GetModuleHandleW`
`GetProcAddress`
`FreeLibrary`

COM Version 1.0 for OpenVMSに付属している一部のサンプルCOM アプリケーションでは，REGISTYモジュールとCMPNT モジュールにこれらのAPIに対する参照が含まれています。サンプルを構築した場合や， これらのサンプルをもとに独自のCOMアプリケーションを構築した場合は， そのアプリケーションを再コンパイルし，再リンクしなければなりません。

## D.1.2 Windows NTシステムの構成

COM Version 1.0 for OpenVMS (非認証COM) の場合，COM for OpenVMSのマニュアルには， 非認証COM for OpenVMSがWindows NTと相互運用できるように，Windows NT レジストリの特定の値を変更するように説明されていました。COM Version 1.1 for OpenVMSでは，認証がサポートされるようになりました。この結果，COM Version 1.0 for OpenVMS で変更が必要だったWindows NT Registry の値をデフォルトの認証設定に戻す必要があります。Windows NT Registry の値を設定するには，次の操作を行います。

1. Windows NT Registryエディタを起動します。

2. 次のレジストリ・キーを選択します。

            HKEY_LOCAL_MACHINE\Software\Microsoft\Ole

3. 次の値名と値データを削除します。

   値名 | COM Version 1.0 for OpenVMSでの推奨設定 | デフォルト( 認証)値データ(COM Version 1.1 for OpenVMSの設定) | レジストリの種類
   --- | --- | --- | ---
   `ActivationSecurity` | N | 削除 | `REG_SZ`
   `PersonalClasses` | N | 削除 | `REG_SZ`

4. Default Authentication LevelとDefault Impersonation Levelを確認し，必要に応じて変更します。次の操作を行います。

   注意
     これらの設定を表示し，更新するには，Windows NT のAdministrator特権が必要です。

   1. 「スタート」メニューの「ファイル名を指定して実行... 」を選択します。

   2. 「ファイル名を指定して実行」ダイアログ・ボックスで， `dcomcnfg` と入力します。

      「分散COMの構成のプロパティ」シートが表示されます。

   3. 「既定のプロパティ」タブをクリックします。

      - 「既定の認証レベル」リスト・ボックスに 「接続」が表示されるはずです。表示されない場合は， リスト・ボックスの矢印をクリックし，一覧から「接続」 を選択します。

      - 「既定の偽装レベル」リスト・ボックスに 「識別」が表示されるはずです。表示されない場合は， リスト・ボックスの矢印をクリックし，「識別」を一覧から選択します。

5. これらの変更を有効にするには，Windows NTシステムを再起動しなければなりません。

## D.1.3 OpenVMSシステムの構成

OpenVMSシステムで，OpenVMS Registryの特定の値を設定またはリセットしなければなりません。Windows NT Registry エディタを使用してOpenVMS Registryを変更することができ，REG$CPユーティリティを使用することもできます。OpenVMS Registryの値を設定するには，次の操作を行います。

1. OpenVMS Registryの次のキーを選択します。

            HKEY_LOCAL_MACHINE\Software\Microsoft\Ole

2. `ActivationSecurity`，`PersonalClasses`， `LegacyAuthenticationLevel`， `LegacyImpersonationLevel` キーを削除します。キーを削除するには， 次のコマンドを使用します。

            $ MCR REG$CP
            REG> LIST VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
            REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
            ActivationSecurity
            REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole PersonalClasses
            REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
            LegacyAuthenticationLevel
            REG> DELETE VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
            LegacyImpersonationLevel
            REG> LIST VALUE HKEY_LOCAL_MACHINE\Software\Microsoft\Ole
            REG> EXIT

# D.2 Windows NTで以前に構成されたアプリケーション

Windows NTでCOM Version 1.0 for OpenVMS (非認証COM for OpenVMS)と組み合わせて実行するようにアプリケーションを構成した場合は，COM Version 1.1 for OpenVMS ( 認証COM for OpenVMS) を利用できるように，Windows NTの設定を再構成しなければなりません。

COM Version 1.0 for OpenVMSでは，COM for OpenVMSのマニュアルに，コンポーネントを登録した後， 認証されていないユーザがイメージをアクティブにすることができるように， そのコンポーネントでセキュリティ・プロパティを確認するように説明されていました。 次の操作を行います。

1. Windows NTの「スタート」 メニューの「ファイル名を指定して実行...」を選択します。

2. 「ファイル名を指定して実行」ダイアログ・ボックスで， `dcomcnfg` と入力します。

   「分散COMの構成のプロパティ」シートが表示されます。

3. 「アプリケーション」リストからオブジェクトの名前を選択し， 「プロパティ...」ボタンをクリックします。

   選択したオブジェクトのプロパティ・シートが表示されます。

4. プロパティ・シートで「セキュリティ」タブをクリックします。

   - COM Version 1.0 for OpenVMSでは，ユーザEveryoneに対してアクセスが許可されるように( Allow access)，アクセス権を設定しなければなりませんでした( レジストリ値`AccessPermission` )。

     COM Version 1.1 for OpenVMSでは， 特定のユーザに対して独自のアクセス権(レジストリ値 `AccessPermission` )を設定できます。

     「独自のアクセス権を使う」をクリックし，「編集」 ボタンをクリックして，「レジストリ値のアクセス権」 ダイアログ・ボックスを表示します。

   - COM Version 1.0 for OpenVMSでは，ユーザEveryoneがアプリケーション・ サーバを起動できるように，起動アクセス権(レジストリ値 `LaunchPermission` )をAllow launchに設定しなければなりませんでした。

     COM Version 1.1 for OpenVMSでは，独自の起動アクセス権(レジストリ値 `LaunchPermission` )を設定して， Everyoneを削除できます。

     「独自のアクセス権を使う」をクリックし，「編集」 ボタンをクリックして，「レジストリ値のアクセス権」 ダイアログ・ボックスを表示します。

   - COM Version 1.0 for OpenVMSでは，ユーザEveryoneに対して少なくともレジストリ値への Readアクセスを許可するように，構成許可を設定しなければなりませんでした。

     COM Version 1.1 for OpenVMSでは， 独自の構成アクセス権を設定して，Everyoneを削除できます。

     「独自のアクセス権を使う」をクリックし，「編集」 ボタンをクリックして，「レジストリ値のアクセス権」 ボックスを表示します。

   COM Version 1.0 for OpenVMSでは，セキュリティ・ プロパティを設定した後，アプリケーションを実行するためにアカウントのID を設定しなければなりませんでした。

   COM Version 1.1 for OpenVMSでは，アカウントのID はオプション1または2に設定できます。

   「識別」タブをクリックして，ユーザ・アカウントの選択を表示します。 「対話ユーザー」オプションを選択します。

## D.2.1 COM Version 1.1 for OpenVMSではOpenVMS Registryに情報を再登録しなければならない

COM Version 1.1 for OpenVMSでは， セキュリティ設定を含むように，OpenVMS Registryに情報を再登録しなければなりません。DCOM$SETUPコマンド・ プロシージャを使用して「OpenVMS COM Tools」メニューを表示し， オプション3を選択します。

## D.2.2 OpenVMS Registryのアプリケーション・ セキュリティ設定の変更

OpenVMS V7.2に添付されていたCOM Version 1.0 for OpenVMSでは，NTLMセキュリティがサポートされませんでした。 その結果，COM Version 1.0 for OpenVMS COMアプリケーションを登録するために使用するOpenVMSアカウントが， アプリケーション登録の一部として作成されたOpenVMS Registryキーの所有者になっていました。 たとえば，COM Version 1.0 for OpenVMS を使用した場合，SYSTEM アカウントにログインして，SAMPLE1アプリケーションを登録すると，SAMPLE1 のOpenVMS RegistryキーはSYSTEM によって所有されます。

OpenVMS V7.2-1に添付されているCOM Version 1.1 for OpenVMSでは，NTLMセキュリティがサポートされるようになりました。OpenVMS Registry キーへのアクセスを制御するために， ネットワーク・アカウントが使用されるようになりました。 このような変更が行われた結果，以前のセキュリティ設定では， 特権が与えられていないユーザがアプリケーションのレジストリ・キーにアクセスできなくなることがあります。 つまり，既存のアプリケーションを使用している非特権ユーザがアプリケーションの登録や登録の解除を行うことができなくなる可能性があります。

この登録のロックアウトを防止するには，アプリケーションのアクセス権を変更しなければなりません。 アクセス権の変更は，Windows NTシステムまたはOpenVMSシステムから行うことができます。 次のいずれかの操作を行います。

- Windows NTシステムからアクセス権を変更する方法

  1. Windows NTシステムでRegEdt32 を起動します

  2. 「レジストリ」メニューで「コンピュータの選択」 を選択し，OpenVMS Registryが格納されているOpenVMSシステムに接続します。

  3. 変更するアプリケーションに関連付けられているキーを選択します。

  4. 「セキュリティ」メニューで「アクセス権... 」を選択し，ユーザにフル・コントロール・アクセス権を与えます。

  5. 最後の2つの手順は，アプリケーションに関連付けられている各レジストリ・ キーに対して繰り返します。COM アプリケーション関連のレジストリ・キーについては，第D.2.2.1項を参照してください。

- OpenVMSシステムからアクセス権を変更する方法

  1. 特権が与えられたOpenVMSアカウントにログインします。

  2. アプリケーションの登録を解除します。DCOM$REGSVR32 ユーティリティを使用します。例 5-6 を参照してください。

  3. アプリケーションに関連付けられたすべてのレジストリ・ キーを削除します。COMアプリケーション関連のレジストリ・キーについては， 第D.2.2.1項を参照してください。

  4. 特権が与えられていないユーザ・アカウントにログインします。

  5. アプリケーションを登録します。DCOM$REGSVR32ユーティリティを使用するか( 例 5-5を参照) ，「OpenVMS COM Tools」メニューからオプション6を選択します( 第5.2節)を参照。

### D.2.2.1 COMアプリケーションのレジストリ・ キー

COMアプリケーションには複数のレジストリ・キーを関連付けることができます。 アプリケーションに関連付けられたすべてのキーを変更しなければなりません。 アプリケーションは通常，次のキーを登録します。
`HKEY_CLASSES_ROOT\CLSID\{guid}` とサブキー
`HKEY_CLASSES_ROOT\APPID\{guid}`
`HKEY_CLASSES_ROOT\APPID\filename`
`HKEY_CLASSES_ROOT\TYPELIB\{typelib guid}`
`HKEY_CLASSES_ROOT\INTERFACES\{interface guid(s)}` とサブキー
`HKEY_CLASSES_ROOT\name`とサブキー
`HKEY_CLASSES_ROOT\version independent name`とサブキー

注意
  `HKEY_CLASSES_ ROOT` は`HKEY_LOCAL_MACHINE\SOFTWARE\Classes` のエイリアスです。Regedt32 を使用してWindows NTからOpenVMS Registryに接続していて， `HKEY_CLASSES_ROOT` キーを変更する場合は， `HKEY_LOCAL_MACHINE\SOFTWARE\Classes` キーを変更してください。

[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]