これはおそらく初心者の質問ですが、私は C++ があまり得意ではなく、まだ初心者です。私の質問は、文字から末尾のバックスラッシュを削除する方法です:
extern "C" UINT __stdcall DeleteTrailingBackslash(MSIHANDLE hInstall)
{
HRESULT hr = S_OK;
UINT er = ERROR_SUCCESS;
LPWSTR szValueBuf = NULL;
char szInstallPath[MAX_PATH];
hr = WcaInitialize(hInstall, "DeleteTrailingBackslash");
ExitOnFailure(hr, "Failed to initialize");
WcaLog(LOGMSG_STANDARD, "Initialized.");
hr = WcaGetProperty(L"INSTALLLOCATION",&szValueBuf);
ExitOnFailure(hr, "failed to get Install Location");
wcstombs(szInstallPath, szValueBuf, 260);
// I would like to strip back the trailing backslashes
// and re add the property to my MSI
hr = MsiSetProperty(hInstall, "INSTALLLOCATION", szInstallPath);
ExitOnFailure(hr, "failed to set the install location");
LExit:
er = SUCCEEDED(hr) ? ERROR_SUCCESS : ERROR_INSTALL_FAILURE;
return WcaFinalize(er);
}
szInstallPath
バックスラッシュが 1 つまたは 2 つある場合は、バックスラッシュを削除する必要があります。良いウェブサイトのチュートリアルなどのために、誰かが私を正しい方向に向けることができますか?
ありがとう