ホーム » 2015 » 3月 » 18

日別アーカイブ: 2015/03/18

2015年3月
1234567
891011121314
15161718192021
22232425262728
293031  

カテゴリー

アーカイブ

ブログ統計情報

  • 99,342 アクセス


vsdrfCOM でエラー

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

Is this 投稿 useful? Useful Useless 0 of 0 people say this 投稿 is useful.