WIX: получить место установки из пользовательских DLL

У меня проблема с DLL настраиваемых действий WiX и C ++: я хочу получить местоположение установки, указанное в файле .wxs, из dll настраиваемого действия, я использую WcaGetTargetPath, но этот API не работает. Кто-нибудь есть идеи, как этого добиться?

Файл WiX:

 <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="$(var.PlatformProgramFilesFolder)" Name="PFiles">
<Directory Id="CompanyDir" Name="ABC">
<Directory Id="PCMINSTALLDIR" Name="ClientMonitor">
<Directory Id="STDSCIPTSDIR" Name="standard_scripts">
</Directory>

<Directory Id="CSTMSCIPTSDIR" Name="custom_scripts">
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
.....
<CustomAction Id="ChangeConfig"BinaryKey="PcmConfig"DllEntry="ModifyConfigFile"Execute="deferred"Return="check"Impersonate="no"HideTarget="no" />

<InstallExecuteSequence>
<Custom Action="ChangeConfig" Before="InstallFinalize" />
</InstallExecuteSequence>

Custom Action method:

LPWSTR pwzTargetPath = NULL;
hr = WcaGetTargetPath(L"PCMINSTALLDIR", &pwzTargetPath);
ExitOnFailure(hr, "Failed to get the PCM installation path.");

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector