Visual studio 2010 如何将WiX自定义操作学习到的信息传递给安装后续组件

Visual studio 2010 如何将WiX自定义操作学习到的信息传递给安装后续组件,visual-studio-2010,oracle,oracle11g,wix,odbc,Visual Studio 2010,Oracle,Oracle11g,Wix,Odbc,我们的业务需求是在许多客户机上安装和配置Oracle客户机软件,这是我们所有自定义公司Excel和MS Access文档的先决条件,这些文档使用ODBC访问本机Oracle驱动程序 下面是我希望WiX在Visual Studio 2010中为我做的事情: 使用引导程序将多个包链接在一起 链中的最后一个包将运行名为ConfigOracleClient.MSI的自定义MSI ConfigOracleClient.msi运行一个自定义操作,该操作检查计算机上的Oracle客户端,并确定Oracle主目

我们的业务需求是在许多客户机上安装和配置Oracle客户机软件,这是我们所有自定义公司Excel和MS Access文档的先决条件,这些文档使用ODBC访问本机Oracle驱动程序

下面是我希望WiX在Visual Studio 2010中为我做的事情:

  • 使用引导程序将多个包链接在一起
  • 链中的最后一个包将运行名为ConfigOracleClient.MSI的自定义MSI
  • ConfigOracleClient.msi运行一个自定义操作,该操作检查计算机上的Oracle客户端,并确定Oracle主目录所在的路径
  • 使用学习的路径安装指向正确驱动程序的一些自定义DSN
  • 将名为TNSNAMES.ORA的文件安装到正确的路径中
  • 在VS2010中,我在解决方案中创建了三个项目:

  • 引导程序(InstallPremissions.exe)
  • ConfigOracleClient.msi,其中包含OdbcDsns.wxi和TNSNames.ORA文本文件
  • OracleCustomAction.CA.dll

  • 将自定义操作学习到的路径传递回ConfigOracleClient.msi以要求其安装DSN和TNSNames.ORA的操作对我来说太难了。

    首先,您需要确保包含您的文件的文件夹(TNSNames.ORA&DSN)在ConfigOracleClient.msi内部,它使用公共安装程序属性(名称中没有小写字母)作为其ID。

    然后,您可以使用以下自定义操作之一在安装过程中更改属性值:

  • 一个自定义操作,用于更改CostFinalize之前计划的目录属性值
  • 更改目录路径的35类自定义操作(应在CostFinalize之后安排)
  • 例如:

    <CustomAction Id="ChangeDir" Directory="INSTALLFOLDER" Value="SomeValueorPropertyhere]"/>
    
    
    
    “SomeValueorPropertyhere”是您在自定义操作中确定的内容

    2.在InstallExecution阶段安排操作(必须在CostFinalize步骤之后):

    
    

    另外,请确保当前用于确定Oracel主路径的自定义操作在自定义操作“ChangeDir”之前执行。

    首先,您需要确保ConfigOracleClient.msi中包含文件(TNSNAMES.ORA&DSN)的文件夹使用公共安装程序属性(名称中没有小写字母)作为其ID。

    然后,您可以使用以下自定义操作之一在安装过程中更改属性值:

  • 一个自定义操作,用于更改CostFinalize之前计划的目录属性值
  • 更改目录路径的35类自定义操作(应在CostFinalize之后安排)
  • 例如:

    <CustomAction Id="ChangeDir" Directory="INSTALLFOLDER" Value="SomeValueorPropertyhere]"/>
    
    
    
    “SomeValueorPropertyhere”是您在自定义操作中确定的内容

    2.在InstallExecution阶段安排操作(必须在CostFinalize步骤之后):

    
    
    另外,请确保当前用于确定Oracel主路径的自定义操作在自定义操作“ChangeDir”之前执行。

    这与此相关