You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Advanced Installer中同步.NET应用的完整自动生成AssemblyVersion

如何让Advanced Installer同步.NET应用1.0.*自动生成的完整AssemblyVersion

方法1:调整.NET项目版本配置,让Advanced Installer读取文件版本

当你把.NET项目的AssemblyVersion设为1.0.*时,编译后CLR会自动生成Build和Revision位,但如果项目同时手动指定了固定的AssemblyFileVersion(比如1.0.0.0),Advanced Installer默认读取的文件版本就会是固定值。你需要确保文件版本同步自动生成的版本:

传统.NET Framework项目(AssemblyInfo.cs)

打开Properties/AssemblyInfo.cs,删除或注释手动的AssemblyFileVersion定义,保留自动生成的AssemblyVersion:

[assembly: AssemblyVersion("1.0.*")]
// 移除或注释这一行:[assembly: AssemblyFileVersion("1.0.0.0")]

编译后,exe的文件版本(FileVersion)会和AssemblyVersion一致,包含自动生成的后两位。

SDK风格项目(.NET Core/.NET 5+,csproj)

在项目文件中设置以下属性,让版本自动同步:

<Version>1.0.*</Version>
<AssemblyVersion>1.0.*</AssemblyVersion>
<FileVersion>$(Version)</FileVersion>

在Advanced Installer中配置版本读取

  1. 打开AI项目,进入Product Information页面
  2. 找到Version字段,点击右侧的...按钮
  3. 在弹出的“Select Version Source”窗口中,选择File Version,选中你的myApp.exe
  4. 保存项目后重新构建,AI会读取exe的完整自动生成版本。

方法2:使用自定义动作手动读取并设置版本

如果方法1不生效,可以通过自定义动作在安装包构建时动态读取exe的完整版本:

  1. 打开AI项目,切换到Custom Actions页面
  2. 在Install Execution Stage的Begin阶段之前,添加一个VBScript自定义动作
  3. 输入以下脚本内容:
Set objFSO = CreateObject("Scripting.FileSystemObject")
strExePath = Session.Property("[#myApp.exe]")
If objFSO.FileExists(strExePath) Then
    Set objFile = objFSO.GetFile(strExePath)
    Session.Property("ProductVersion") = objFile.Version
End If
  1. 将自定义动作的Execution Condition设为NOT Installed(仅在首次安装时执行)
  2. 保存并重新构建项目。

方法3:用预构建事件提前设置AI项目版本

这种方法适合需要在构建安装包前就把版本写入AI项目的场景:

  1. 打开AI项目,点击Build菜单,选择Pre-build Events
  2. 添加以下PowerShell命令(替换路径为你的实际exe和AI项目路径):
# 读取编译后exe的完整版本
$exePath = "C:\Path\To\Your\Compiled\myApp.exe"
$fullVersion = (Get-Item $exePath).VersionInfo.ProductVersion

# 修改AI项目的ProductVersion属性
& "C:\Program Files (x86)\Caphyon\Advanced Installer\bin\x86\AdvancedInstaller.com" /edit "C:\Path\To\Your\Project.aip" /SetProperty ProductVersion=$fullVersion
  1. 保存项目,构建时AI会先执行预构建事件,更新版本后再打包。

内容的提问来源于stack exchange,提问作者Daniel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 07:22:48