vsdrfCOM でエラー

VS 2005 のセットアッププロジェクトで,exe の「Register」を「vsdrfCOM」としてビルドすると,
—————————
AsTM0317.exe – アプリケーション エラー
—————————
“0x5cac9a9c” の命令が “0x0000005c” のメモリを参照しました。メモリが “read” になることはできませんでした。
プログラムを終了するには [OK] をクリックしてください
—————————
OK
—————————

—— ビルド開始: プロジェクト: TestSet3, 構成: Debug ——
ファイル ‘C:\…\TestSet3\TestSet3\Debug\TestSet3.msi’ をビルドしています…
警告: ‘AsTM0317.exe’ というファイルのレジストリ情報を作成できません
警告: Windows インストーラは、どの選択された必須コンポーネントにも含まれていません。
ファイル ‘AsTM0317.exe’ をパッケージしています…
ファイル ‘AsImgCnv.exe’ をパッケージしています…
========== ビルド: 1 正常終了または最新の状態、0 失敗、0 スキップ ==========


AsImgCnv.exe の方はエラーの表示はない.
VS 2002 や 2008 では,OK.
また,vsdrfCOMSelfReg の場合も OK.


2015/03/20
vsdrfCOMSelfReg とした場合,そのままではインストール時にダイアログから表示されていた.
/RegServer , /UnRegServer が指定された場合,ダイアログを表示しない様に対応.
   BOOL isReg = FALSE ;
   {
     if (::FindNoCase(m_lpCmdLine,_T( “/REGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T( “-REGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T(“/UNREGSERVER”)) >= 0) { isReg = TRUE ; }
     else if (::FindNoCase(m_lpCmdLine,_T(“-UNREGSERVER”)) >= 0) { isReg = TRUE ; }
     }
   if (!isReg) {
     CAsImgCnvDlg dlg;
     m_pMainWnd = &dlg;
     int nResponse = dlg.DoModal();
     if (nResponse == IDOK) {
       }
     else if (nResponse == IDCANCEL) {
       }
     }


  にほんブログ村 IT技術ブログへ



コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください