繁体   English   中英

Wix 3.7 Burn-如何使用动态信息进行自定义启动屏幕

[英]Wix 3.7 Burn - how to do a custom splash screen with dynamic information

我有使用ManagedBootstrapperApplicationHost的Wix Burn Custom安装程序。 我想要做的是,有一个初始屏幕,带有版本号。现在,我不想每次更新安装时都更改初始屏幕图像。 我希望它有一个版本,我没有在捆绑中设置任何版本。

我如何才能达到相同目的,我是否必须创建自己的带有图像的窗口并管理启动画面? 或者还有其他方法吗?

现在,我不想每次更新安装时都更改初始屏幕图像。

我同意应该以编程方式完成。 对我来说,重要的是,最终用户在管理其软件配置或报告问题时必须使用一个版本标签。 而且,遵循DRY原理 ,这意味着在构建期间,应该仅从中抽取一个位置。

但是,由于不同的开发和部署工具和资源(包括初始屏幕)需要不同的格式,因此我认为有必要投资于构建步骤来创建或更新需要版本的位置。 对于启动屏幕, Imagemagick可以在图像上绘制文本。 使用MsBuild (例如,通过bootstrapper .wixproj文件),您可以从捆绑软件中提取版本,并在构建捆绑软件之前将其绘制在初始屏幕上。

<Target Name="StampProjectFilesWithVersion" BeforeTargets="Compile">
  <XmlPeek Namespaces="&lt;Namespace Prefix='wi' Uri='http://schemas.microsoft.com/wix/2006/wi'/&gt;" XmlInputPath="Bundle.wxs" Query="/wi:Wix/wi:Bundle/@Version">
    <Output TaskParameter="Result" ItemName="BundleVersion" />
  </XmlPeek>
  <XmlPeek Namespaces="&lt;Namespace Prefix='wi' Uri='http://schemas.microsoft.com/wix/2006/wi'/&gt;" XmlInputPath="Bundle.wxs" Query="/wi:Wix/wi:Bundle/@Name">
    <Output TaskParameter="Result" ItemName="BundleName" />
  </XmlPeek>
  <Message Text="@(BundleName) @(BundleVersion)" />
  <Exec Command="tools\imagemagick\convert ^
       splash-template.bmp ^
       -pointsize 18 ^
       -draw &quot;text 100,300 'Version @(BundleVersion)'&quot; ^
       -pointsize 24 ^
       -draw &quot;text 100,260 '@(BundleName)'&quot; ^
       bmp3:splash.bmp" />
</Target>

显然,您应该从项目中任何有意义的来源中提取版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM