Windows installer 将安装路径作为输入传递到dll-基本MSI-InstallShield 2012

Windows installer 将安装路径作为输入传递到dll-基本MSI-InstallShield 2012,windows-installer,installshield-2012,basic-msi,Windows Installer,Installshield 2012,Basic Msi,将从目标文件夹对话框中选择的安装路径作为输入从自定义对话框传递到DLL 我正在使用InstallShield 2012设计一个基本的MSI安装程序项目。我设计了一个自定义对话框,在自定义对话框中获取用户登录信息等,并将详细信息传递给DLL,DLL随后相应地创建一个数据库。但是,我需要知道如何将安装路径[在目标文件夹对话框中选择]作为输入传递到dll,以便在适当的文件夹中创建我的DB。我的DLL操作在安装文件后执行 提前谢谢!!如果你不能理解以上内容,我很乐意解释 不能像在命令行中那样直接将值传递

将从目标文件夹对话框中选择的安装路径作为输入从自定义对话框传递到DLL

我正在使用InstallShield 2012设计一个基本的MSI安装程序项目。我设计了一个自定义对话框,在自定义对话框中获取用户登录信息等,并将详细信息传递给DLL,DLL随后相应地创建一个数据库。但是,我需要知道如何将安装路径[在目标文件夹对话框中选择]作为输入传递到dll,以便在适当的文件夹中创建我的DB。我的DLL操作在安装文件后执行


提前谢谢!!如果你不能理解以上内容,我很乐意解释

不能像在命令行中那样直接将值传递给DLL

您可以将用户输入的值存储在一个属性中,然后使用DLL自定义操作从MSI会话获取这些属性


如果您的自定义操作需要在安装程序的提交阶段运行,则必须在
CustomActionData
属性中打包这两个值。有关详细信息,请参阅。

您不能像在命令行中那样直接将值传递给DLL

您可以将用户输入的值存储在一个属性中,然后使用DLL自定义操作从MSI会话获取这些属性


如果您的自定义操作需要在安装程序的提交阶段运行,则必须在
CustomActionData
属性中打包这两个值。有关更多信息,请参阅。

我尝试从自定义对话框中使用参数INSTALLDIR调用dll函数,并且能够立即执行安装路径,但您的意思是,当我尝试延迟执行时,这将不起作用??是的,延迟执行不起作用。在这种情况下,您必须在执行序列中设置
MyCustomActionName
属性,并在函数中以名称
CustomActionData
获取该属性;此处
MyCustomActionName
是延迟的自定义操作的名称。即设置与自定义操作同名的属性。并且只能将一个属性传递给延迟的自定义操作。我需要将包括安装目录在内的十个字段传递给dll,以便它可以创建数据库,是否有办法解决此问题?[link]。正在使用CustomActionData访问多个属性。。。这应该行得通??是的,它会行得通的。但是,您应该知道符号“;”它本身将成为您传递的任何属性值的无效符号,因为现在它具有特殊含义。我尝试从自定义对话框中使用param INSTALLDIR调用dll函数,并且能够立即执行安装路径,但您的意思是,当我尝试延迟执行时,这将不起作用??是,延迟执行不起作用。在这种情况下,您必须在执行序列中设置
MyCustomActionName
属性,并在函数中以名称
CustomActionData
获取该属性;此处
MyCustomActionName
是延迟的自定义操作的名称。即设置与自定义操作同名的属性。并且只能将一个属性传递给延迟的自定义操作。我需要将包括安装目录在内的十个字段传递给dll,以便它可以创建数据库,是否有办法解决此问题?[link]。正在使用CustomActionData访问多个属性。。。这应该行得通??是的,它会行得通的。但是,您应该知道符号“;”它本身将成为传递的任何属性值的无效符号,因为现在它具有特殊含义。