您好,我有一个C/C++头文件,其中包含我的产品版本信息初始化,如下所示:
#define nMajorVersion 4
#define nMinorVersion 4
#define nPointVersion 8
#define nBuildVersion 33
#define s_szFileVersion "4.4.8.33"
#define s_szProductVersion "4.4.8.33"有没有什么方法可以自动读取这个文件来更新我的Wix3.6安装程序中的版本号?目前我对它进行了硬编码,这并不是它发布时的理想状态。谢谢
发布于 2012-09-11 19:01:57
您可以做的是创建一个c/c++程序,该程序生成一个如下所示的文件Version.wxi:
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define ProductVersion.Major="4"?>
<?define ProductVersion.Minor="4"?>
<?define ProductVersion.Revision="8"?>
<?define ProductVersion.Build="33"?>
<?define ProductVersion="4.4.8.33"?>
....
</Include>然后,您可以在主wxs文件中包含和使用这些版本号:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?include Version.wxi ?>
<?define UpgradeCode="GUID"?>
<Product Id="*"
Name="$(var.ProductName) $(var.ProductVersion.Major).$(var.ProductVersion.Minor)"
Version="$(var.ProductVersion)" Language="1033"
Manufacturer="$(var.Company)" UpgradeCode="$(var.UpgradeCode)">在编译wix项目之前生成Version.wxi。例如,修改.wixproj文件以添加执行此操作的目标。
https://stackoverflow.com/questions/12354617
复制相似问题