【发布时间】:2012-04-10 18:51:25
【问题描述】:
我正在使用 WiX 3.5 进行以下操作。
我有一些文件(EXE 和 DLL)需要在安装开始时(在显示 EULA 之前)解压缩到 TEMP 文件夹,然后运行 EXE。我有提取文件的部分工作,使用http://msiext.codeplex.com/。代码如下所示:
<CustomAction Id="SetBinaryWrite_TargetFileName_1" Property="BINARYWRITE_TARGETFILENAME" Value="[TempFolder]ActivationUtility.exe" />
请注意,使用了 [TempFolder] 并且(在 Windows 7 上)解析为“C:\Users\USERNAME\AppData\Local\Temp\”,这不是在我的 WXS 文件中的任何位置“设置”的 - 它是Windows 属性,如 ProgramFilesFolder 等...
我这样设置我的 EXE CustomAction:
<CustomAction Id="ActivationUtility"
Directory="TempFolder"
ExeCommand="ActivationUtility.exe"
Execute="immediate" Return="check" />
然后链接器会抱怨:错误 LGHT0094:未解决对符号“Directory:TempFolder”的引用。如果我使用“[TempFolder]”,编译器会抱怨。为什么此属性对一个 CustomAction 有效,而对另一个无效?我究竟需要做什么才能为上述 CustomAction 引用 TempFolder?
【问题讨论】:
-
是因为session id吗? serverfault.com/questions/1035959/…
标签: wix custom-action wix3.5