如何在WiX脚本中获取文件的位置

时间:2009-07-26 16:46:22

标签: installer wix wix3

如何在命令行上创建引用文件的自定义操作?

我有正确访问MYSQL属性的自定义操作,但我还没有想出访问已安装的sql脚本的路径的咒语。

以下是WiX脚本的相关部分。我试图让自定义操作引用MYSQL_SCRIPTS文件的路径。

<Directory Id="TARGETDIR" Name="SourceDir">
   <Directory Id="ProgramFilesFolder">
   <Directory Id="INSTALLLOCATION" Name="MyProgram">
     <Directory Id="DbSetupDir" Name="DbSetup">
        <Component Id="SqlScripts" Guid="MYGUID">
           <File Id="MYSQL_EXE" Source="mysql.exe" Vital="yes" />
           <File Id="MYSQL_SCRIPTS" Source="MYSQL_SCRIPTS.sql" Vital="yes" />
        </Component>
     </Directory>
   </Directory>
 </Directory>

 ...

<CustomAction Id='LaunchFile' 
  FileKey='MYSQL_EXE'
  ExeCommand='--host=[MYSQL_SERVER]
  -u [MYSQL_USERNAME]
  -P [MYSQL_PORT]
  --password=[MYSQL_PASSWORD]
  -e [DbSetupDir]\ALS_Scripts.sql' 
  Return='check'/>

1 个答案:

答案 0 :(得分:3)

使用[#MYSQL_SCRIPTS] conversion,这将在设置时转换为这些文件的完整路径。

<CustomAction Id='LaunchFile' 
  FileKey='MYSQL_EXE'
  ExeCommand='--host=[MYSQL_SERVER]
  -u [MYSQL_USERNAME]
  -P [MYSQL_PORT]
  --password=[MYSQL_PASSWORD]
  -e [#MYSQL_SCRIPTS]' 
  Return='check'/>