在生成操作中以编程方式设置VS Installer项目版本

时间:2019-03-15 15:26:01

标签: c# build windows-installer

我有一个C#WPF应用程序,该应用程序是使用.Net 4.7在Visual Studio 2017(15.9.9)中编写的。该应用程序的解决方案包含两个项目-WPF项目本身,以及一个Microsoft VS Installer Project,可在生成操作上创建一个.msi文件。

我已经存储了应用程序项目的版本信息,可以使用以下方法将其返回

public static string GetVersion()
{
    try
    {
        System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
        FileVersionInfo fvi = FileVersionInfo.GetVersionInfo(assembly.Location);
        string version = fvi.FileVersion;
        return $"Version {version}";
    }
    catch(Exception ex)
    {
        //send error notif to IT dept.
        Alert_IT(ex, GetCurrentMethod(), false);
        return "0";
    }
}

在构建解决方案时,我想使用此结果在Setup项目中设置版本信息-此刻必须将其手动输入到Setup项目的属性中。

由于我们正在计划对所有应用程序使用安装项目,因此只需要在一个地方更改所有项目的版本,这是一件非常好的事情,以确保不存在不一致之处。

是否可以通过编程方式在安装项目上设置版本?必须在创建.msi之前完成。

如果这不可能,那么您对如何实现所需的结果还有其他建议-在构建应用程序之前,只需要将其版本信息设置在一个位置即可。

我已经看到了here的建议,但是发现它不够具体,无法提供帮助。

0 个答案:

没有答案