Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 需要版本号方案的帮助吗_Wix_Windows Installer_Versioning - Fatal编程技术网

Wix 需要版本号方案的帮助吗

Wix 需要版本号方案的帮助吗,wix,windows-installer,versioning,Wix,Windows Installer,Versioning,我知道标准的Major.Minor.Build.Revision,但对我们来说,有几个考虑因素有些独特 -我们几乎每天都做内部发布,偶尔一天不止一次 -所以这对我们来说几乎没有意义 -理想情况下,主要和次要数字仅在公开发布时更新,应手动完成 -这就留下了需要自动更新的构建 -我们希望内部版本能够从任何开发人员的机器上执行,这样就不必在Visual Studio中使用x.x.*了,因为不同的机器可以生成不同的数字,并且每个版本不能保证比以前的版本大 -我们有大约15个左右的项目作为产品的一部分,所

我知道标准的Major.Minor.Build.Revision,但对我们来说,有几个考虑因素有些独特

-我们几乎每天都做内部发布,偶尔一天不止一次

-所以这对我们来说几乎没有意义

-理想情况下,主要和次要数字仅在公开发布时更新,应手动完成

-这就留下了需要自动更新的构建

-我们希望内部版本能够从任何开发人员的机器上执行,这样就不必在Visual Studio中使用x.x.*了,因为不同的机器可以生成不同的数字,并且每个版本不能保证比以前的版本大

-我们有大约15个左右的项目作为产品的一部分,所以在SVN中保存版本号并不理想,因为每个版本我们都会提交所有这些文件

考虑到这些标准,我真的无法提出一个好的版本控制方案。最后两个标准可以取消,但满足所有这些似乎都是理想的。一个日期戳是不够的,因为我们一天可能要做一个以上的事情,而且考虑到Uint16的最大大小(大约64000)(实际上使用WiX它会抱怨数字高于Int16.MaxValue),日期/时间就不合适了

  • 使用SVN提交编号或其他提交ID(我们通常使用
    git descripe
    output,这在大多数情况下都是完美的)。构建应该是可跟踪的——如果您想真正能够确定您正在运行的是什么,那么只从提交的源进行构建是很重要的
  • 使用秒精度的时间/日期(UNIX历元时间)。这将为您工作到2038年。如果数字太大,请使用不同的纪元(如2000年)

  • 此外,Uint32不限于2^16(65535),它的32位为2^32,即大约40亿。

    由于msi不检查修订,我们在构建系统中切换了msi的第三和第四版本部分


    例如,如果实际版本是1.2.3.4678(4678是构建应用程序的SVN修订版),我们将msi版本创建为1.2.4678.3。

    我的错误是,它是ushort和short,而不是UInt和Int32。但我认为提交编号有效。我们已经好几年没有突破10公里了,所以我们应该有一段时间表现不错。