WIX不会执行命令

时间:2017-06-15 10:54:19

标签: wix wix3.5

我有一个WIX安装程序,我需要运行两个命令:

net localgroup administrators reviewer /add

appcmd.exe set config /section:applicationPools /[name='Reviewer'].processModel.identityType:SpecificUser /[name='Reviewer'].processModel.userName:reviewer /[name='Reviewer'].processModel.password:reviewer

第二个命令相当复杂,涉及方括号和单引号

第一个命令必须来自C:\Program files\mycompany\myfolder,第二个来自C:\windows\system32\inetsrv

这是我的两个WIX自定义操作:

    <CustomAction Id="AssignUserToAdminGroup" Directory="INSTALLFOLDER" Execute="deferred" Impersonate="no"
      ExeCommand="net localgroup administrators reviewer /add" 
      Return="check"/>

    <CustomAction Id="AssignUserToIISapp" Directory="IISFOLDER" Execute="deferred" Impersonate="no"
      ExeCommand="appcmd.exe" 
      Return="check"/>  

你可能已经注意到我从第二个命令中删除了很多,只是为了确保我不必处理方括号和单引号(这只是一个测试)

这里的片段指定了应该从(INSTALLFOLDERIISFOLDER)启动此类命令的目录

  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="CommonAppDataFolder">
        <Directory Id="Company" Name="mycompany">
          <Directory Id="INSTALLFOLDER" Name="myfolder" />
        </Directory>
      </Directory>
         <Directory Id="System64Folder" >
        <Directory Id="IISFOLDER" Name="inetsrv"  />
      </Directory>
    </Directory>
  </Fragment>

此代码编译正常,但我在安装时遇到错误,无法执行appcmd.exe。是什么导致了这个问题?

0 个答案:

没有答案