【问题标题】:Change the fields and field names in Visual Studio Setup Project更改 Visual Studio 安装项目中的字段和字段名称
【发布时间】:2021-10-22 22:43:03
【问题描述】:

我正在更新一个在 Visual Studio 2015 中构建的旧项目。安装项目中有八个文本字段。它们都有FOOBARQWERTY 之类的名称,可在ProjectInstaller.cs 中找到。如果我更改FOOBAR 的默认值,例如bazqux(硬编码默认值)或[FOOBAR](从参数传递),则会反映在ProjectInstaller.cs 中。

但是,如果我添加一个新字段,ProjectInstaller.cs 不会反映这一点。此外,不会反映重命名字段。

这是设置项目的设置方式:

如何注册新的字段名称或更改字段名称以便在ProjectInstaller.cs 中使用新名称?

【问题讨论】:

    标签: visual-studio-2015 visual-studio-setup-proje


    【解决方案1】:

    我在这里找到了一篇文章,为我提供了在 VS2015 中查找设置的线索:https://www.codeproject.com/articles/12780/a-setup-and-deployment-project-that-passes-paramet

    1. Solution Explorer中,选择<My_Project>_Setup项目

    2. Solution Explorer右上角,点击“Custom Actions Editor”图标

    3. 在“Commit”下方的Custom Actions (_Setup)中,选择“Primary output from (Active) "

    4. Properties 中,编辑“CustomDataAction”的值,将字段名称与命令参数匹配。格式为/ARGUMENT="[FIELDNAME]",因此参数和字段不必具有相同的名称。每对参数和字段名称与下一对用一个空格分隔。

    一些陷阱:

    • 字段值在插入之前不会转义,因此字段值中的尾部反斜杠 \ 很可能会由于无法正确解析参数而导致安装程序失败。
    • 通过了解参数的格式,可以插入参数。例如。在安装过程中在字段中输入foobar" /QWERTY="This is bad!(无开头或结尾双引号)将插入一个名为QWERTY 的新参数,其值为This is bad!
    • 安装程序的参数也可以通过这种方式注入。
    • .msi 文件的参数在传递给安装程序之前通过安装程序字段(并且可能由用户编辑)。例如。 My_Project_Setup.msi FOO=42 [Edit1Property: BAR, Edit1Value: [FOO]], [CustomDataAction: /BAZ="[BAR]"] 将在 BAZ 参数中传递 42(假设用户没有更改它),然后将使用该参数在Context.Parameters["BAZ"]ProjectInstaller.cs

    【讨论】:

      猜你喜欢
      • 2012-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多