Как открыть файл из установочной директории? - PullRequest
0 голосов
/ 10 октября 2018

Передача 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>
...