VC++ 创建msi文件(二)

2014-07-19 23:02:58 · 作者: · 浏览: 162

 

  //output error message.

  MessageBoxEx(

  NULL,

  (LPTSTR)formatMsg,

  _T("tip window"),

  MB_OK,

  MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT));

  //free message buffer.

  LocalFree(formatMsg);

  formatMsg=NULL;

  return -1;

  }

  //close msi database handle.

  UINT closeResult=MsiCloseHandle(msiHandle);

  if(closeResult != ERROR_SUCCESS)

  {

  LPVOID formatMsg=NULL;

  MSIHANDLE errorCode=MsiGetLastErrorRecord();

  //format error code to string.

  FormatMessage(

  FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,

  NULL,

  errorCode,

  MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT),

  (LPTSTR)&formatMsg,

  0,

  NULL);

  //output error message.

  MessageBoxEx(

  NULL,

  (LPTSTR)formatMsg,

  _T("tip window"),

  MB_OK,

  MAKELANGID(LANG_NEUTRAL,SUBLANG_SYS_DEFAULT));

  //free message buffer.

  LocalFree(formatMsg);

  formatMsg=NULL;

  return -1;

  }

  return 0;

  }

  </SPAN>

  结果展示

\

  总结

  现在我研究的还不是很明白,不过最终的目的就是自己编写的软件需要一个安装程序,这样子就看着专业一些了,总是绿色软件很是不甘心。