是否可以从同一安装中的64位和32位注册表项读取?

时间:2015-07-29 14:14:42

标签: wix windows-installer

在我的安装中,我需要先检查是否存在64位条目 如果它存在于注册表的64位部分,则读取其值 如果没有条目,那么我需要尝试从32位注册表部分(Wow6432Node)读取此条目。

我需要直接从wxs文件或VBScript上的自定义操作中读取它 有可能吗?

1 个答案:

答案 0 :(得分:1)

如果您正在运行64位MSI,则可以使用以下样式设置两个AppSearch / RegLocator条目:

Public Sub DoIt()

    Dim re As New RegExp
    re.Pattern = """([^""]+)"""

    Dim intRow As Long
    For intRow = 1 To 1000
        If re.Test(Cells(intRow, 1)) Then
            Cells(intRow, 2) = re.Execute(Cells(intRow, 1))(0).SubMatches(0)
        End If
    Next

End Sub

这些条目将检查相应的" HKLM \ SOFTWARE \ My Company"和" HKLM \ SOFTWARE \ Wow6432Node \ My Company"注册表配置单元。