C# 在安装步骤从wix安装程序读取二进制文件
我在修改一个sql脚本时遇到了一些问题,该脚本在wix中被标记为二进制文件。 基本上,我要做的是读取文件(声明的二进制文件),根据wix中设置的属性替换其中的一些值,然后保存文件,然后将其作为sql脚本运行。 到目前为止,我尝试了:使用session.GetTargetPath(“TARGETDIR”)获取目标目录,但它返回的路径错误,而不是最初提取脚本的路径(例如临时文件夹),因此我可以修改它,然后保存它并确保它将运行修改后的脚本。 我的问题是: 如何在安装步骤中获取二进制文件的路径,或者如何通过会话或w/e访问它 值得一提的是:我曾尝试将其声明为文件,但后来我无法将其作为sql脚本运行,因为它需要的是二进制文件,而不是文件 谢谢 您可以使用for文件表中的条目,即[#filekey]来获取文件的完整路径。然后,您应该能够设置属性/CustomActionData属性并在VBSSCcript中读取它。 还请注意以下内容(摘自链接页面):C# 在安装步骤从wix安装程序读取二进制文件,c#,wix,windows-installer,wix3.5,C#,Wix,Windows Installer,Wix3.5,我在修改一个sql脚本时遇到了一些问题,该脚本在wix中被标记为二进制文件。 基本上,我要做的是读取文件(声明的二进制文件),根据wix中设置的属性替换其中的一些值,然后保存文件,然后将其作为sql脚本运行。 到目前为止,我尝试了:使用session.GetTargetPath(“TARGETDIR”)获取目标目录,但它返回的路径错误,而不是最初提取脚本的路径(例如临时文件夹),因此我可以修改它,然后保存它并确保它将运行修改后的脚本。 我的问题是: 如何在安装步骤中获取二进制文件的路径,或者如何
后期编辑:我只需要一种方法来获取在msi开始执行安装序列之前提取msi的临时文件夹路径。你是说?
The value of [#filekey] remains blank and is not replaced by a path until the installer runs the CostInitialize action, FileCost action, and CostFinalize action.