我目前正在使用 Visual Studio 2010 C++ 自定义操作项目
我有一个这样的自定义操作:
extern "C" UINT __stdcall RegProductName(MSIHANDLE hInstall)
{
HRESULT hr = S_OK;
UINT er = ERROR_SUCCESS;
char szLocalPath[MAX_PATH];
hr = WcaInitialize(hInstall, "RegProductName");
ExitOnFailure(hr, "Failed to initialize");
WcaLog(LOGMSG_STANDARD, "Initialized.");
strcpy(szLocalPath, Orc_Get_Product_Name());
MsiSetProperty(hInstall, "ProductName", szLocalPath);
LExit:
er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
return WcaFinalize(er);
}
它不会引发任何错误,但我不确定我是否正确地做我想做的事。在这一行:
strcpy(szLocalPath, Orc_Get_Product_Name());
我从函数中获取产品名称并将其复制到 szLocalPath。但是我想在其他函数以及我的 wix 项目中多次使用这个变量。
这是正确的方法吗?
MsiSetProperty(hInstall, "ProductName", szLocalPath);
非常感谢