У меня есть пользовательская функция C++, как указано ниже. Эта функция предназначена для извлечения раздела INI из INI-файла.WIX, передающий параметр C++, настраиваемое действие
extern "C" LPSTR PASCAL EXPORT ReadFile(LPSTR IniFilename, LPSTR IniFIleSection, LPSTR IniKey, LPSTR DefaultValue)
{
static char MyValue[512];
sprintf(sValue, "%s %s %s %s",IniFilename, IniFIleSection, IniKey, DefaultValue);
GetPrivateProfileString(IniFIleSection, IniKey, DefaultValue, MyValue, 512,IniFilename);
return (sValue);
}
И я использую Defenition Wix для CustomAction, как указано ниже
<Binary Id="CustomCallId" SourceFile="CustomDllname.dll" />
<CustomAction Id="ReadValue" BinaryKey="CustomCallId" DllEntry="ReadFile"/>
<InstallExecuteSequence>
<Custom Action="ReadValue" Sequence="71" />
</InstallExecuteSequence>
Но я не знаю, как передать параметр из WIX пользовательского вызова DLL.
У InstallShield есть хороший шаблон для этого. (Стандартная DLL). –