ウィザードで作ったATLのプロジェクトで、COM(OLE)サーバーを登録するには .rgsファイルにレジストリのスクリプトを書く

うまくいった例

   ATL.Test = s 'ATL Test Class'
   {
      CLSID = s '{14805E34-39E8-4FE4-9C3A-B5227C4B8C14}'      
   }
   NoRemove CLSID
   {
      ForceRemove {14805E34-39E8-4FE4-9C3A-B5227C4B8C14} =
                   s 'ATL Test Class'
      {
         ProgID = s 'ATL.Test'
         InprocServer32 = s '%MODULE%'
         {
            val ThreadingModel = s 'Apartment'
         }
      }
   }

{...}内のCLSIDはメインのcpp内にある値を使った

レジストリエディタでHKEY_CLASSES_ROOT配下にATL.Testが作られる。


ウィザードで作ったATLのプロジェクトならビルドイベントで /RegServer を使った処理が動くので、ビルドするだけで登録されます。


ネタ元