如何将msi注册表中的值更新为REG_DWORD

时间:2016-12-22 16:15:36

标签: visual-c++ wix windows-installer wix3.5

我需要更改MSI的Registry表中的值。 Msi是用WIX构建的。 我需要在C ++中这样做。

以下是值的开始(ORCA): Registry.Name:会话 Registry.Value:#250

我理解值中的#表示该值已格式化并且是一个整数(REG_DWORD)

我尝试使用简单的MsiViewExecute():

@Override
public scala.Option<String> preferredLocation(){
    scala.Option<String> test = null;
    if(this.id == 0 || this.id == 1 || this.id == 2){
        test =  scala.Option.apply("abc1");
    }
    else if(this.id == 3 || this.id == 4 || this.id == 5){
        test =  scala.Option.apply("abc2");
    }
    else if(this.id == 6 || this.id == 7 ){
        test =  scala.Option.apply("abc3");
    }else{
        test =  scala.Option.apply("abc4");
    }
    return test;
}

我做错了什么?

1 个答案:

答案 0 :(得分:2)

错误是由#70引起的 - 它需要单引号。表格中的字段已格式化,因此它是文本。