1

我有一个应用程序,我想为使用 Advanced Installer Updater 提供更新。

构建更新文件后,我有一个批处理文件可以将更新文件自动上传到我的服务器。我还想上传应用程序本身,并将其复制到版本目录以进行存档。

例如,如果我发布版本 2.0.78,我有一个脚本连接到我的服务器,创建一个“2.0.78”目录,并将应用程序复制到其中。这是构建后的事件。

我不想每次更改脚本时都必须为其指定版本号,因此我想将版本号作为参数传递给我的命令行脚本。
我尝试了以下(以及它的大写/小写版本),但输出为空白。

在此处输入图像描述

如何获取更新项目中的产品名称和版本?

4

2 回答 2

1

这些属性未设置到更新配置项目中,它们仅在生成安装包的项目中设置。更新配置项目并非旨在存储/管理安装程序属性。

读取和使用这些属性的唯一方法是创建一个 BAT 文件,该文件首先从 setup project 获取它们的值,然后构建更新程序项目,然后执行您的构建后操作(不再使用构建后事件),所有来自同一个 BAT 文件。

于 2013-10-02T14:41:12.943 回答
1

一个想法是从 .exe 文件的批处理脚本中获取此信息。

for /f "usebackq delims=" %%A in (`"powershell $shell = New-Object -COMObject Shell.Application; $shellfolder = $shell.Namespace('C:\Folder\Subfolder'); $shellfolder.GetDetailsOf($shellfolder.ParseName('Program.exe'), 156);"`) do set "AppVer=%%A"

这会将应用程序的版本号捕获到 AppVer 变量中。要获取其他详细信息,只需更改 GetDetailsOf 数字。176 = 产品名称,156 = 产品版本等...

于 2013-10-01T14:58:26.610 回答