Передача PATH в пользовательское действие
<Property Id="ModifyConfig" Value="PATH=[PATH]"/>
<CustomAction Id='ModifyConfig'
BinaryKey="WebAppCA"
DllEntry="ModifyConfig"
Execute="deferred"
Return="check"
HideTarget="no"
Impersonate="no"/>
<InstallExecuteSequence>
<Custom Action="ModifyConfig" After="InstallFiles"></Custom>
</InstallExecuteSequence>
Мое пользовательское действие
[CustomAction]
public static ActionResult ModifyConfig(Session session)
{
string PATH = session.CustomActionData["PATH"];
FileInfo file = new FileInfo(PATH + "appsettings.json");
session.Log("PATH: " + PATH);
session.Log("Search for configuration file " + file.FullName);
}
Когда пользовательское действие выполняется, в журнале появляется следующее:
PATH: C:\MyPath\
Search for configuration file C:\WINDOWS\Installer\MSIE38D.tmp-\C:\MyPath\appsettings.json
Какэто может быть и как я могу получить файл?
РЕДАКТИРОВАТЬ: Это хорошо работает - Execute = " немедленный " и после = " InstallFinalize "
<CustomAction Id='ModifyConfig'
BinaryKey="WebAppCA"
DllEntry="ModifConfig"
Execute="immediate"
Return="check"/>
<InstallExecuteSequence>
<Custom Action="ModifyConfig" After="InstallFinalize"></Custom>
</InstallExecuteSequence>