MST功能未应用

时间:2014-07-25 13:46:40

标签: c# wix windows-installer

有没有办法确保功能始终应用?

这是问题所在。我编写了C#代码,根据REG文件为MSI生成MST,并允许用户分配属性值。

我想做类似的事情:

  1. 创建临时MSI以使用
  2. 根据.REG文件名创建新功能(Prepend REG_ drop .REG,空格为_,删除其他非字母数字字符)并将其指定为第一个要素的子项 在没有父母的MSI中找到。
  3. 为注册表项创建新组件
  4. 将组件分配给要素组件中的要素 表
  5. 我创建了注册表并根据.REG删除了注册表 文件设置步骤4中的组件。
  6. 生成转换。
  7. 我无法完成上述工作,但如果我选择现有功能而不是创建新功能,则可行。父功能确实已安装,但未安装新功能。我猜我正在设置其中一个字段错误。

    功能字段类似于:

        Feature:         REG_HKLM_Settings
        Feature_Parent:  Default_Feature  
        Title:            
        Description:      
        Display:          
        Level:           1
        Directory:       TARGETDIR
        Attributes:      0
    

    以上适用于大多数MSI。我遇到问题的MSI有大约20个功能。我试图避免添加一个用户必须选择现有功能的对话框...我真正想做的是创建一个新功能,无需安装。

    有什么想法吗?

1 个答案:

答案 0 :(得分:0)

想出来 - 对于新功能,不要设置父级,将级别设置为1,将属性设置为0.设置目录似乎是可选的。