2013-05-04 49 views
0

我有Wix刻錄自定義安裝程序使用ManagedBootstrapperApplicationHost。 我想要做的是,有一個啓動畫面,版本號現在我不想每次更新安裝時更改閃屏圖像。我希望它有一個版本沒有我已經在捆綁設置。Wix 3.7刻錄 - 如何使用動態信息自定義啓動畫面

我該如何做到這一點,是否必須創建自己的窗口與圖像和管理splashscreen?或者還有其他方法嗎?

回答

0

現在我不想在每次更新 安裝時更改閃屏圖像。

我同意它應該以編程方式完成。對我而言,最重要的是最終用戶在管理軟件配置或報告問題時可以使用單一版本標籤。而且,在DRY principle之後,這意味着在構建過程中只有一個地方應該從中抽取。但是,由於不同的開發和部署工具和資源(包括啓動畫面)需要不同的格式,因此我覺得投資構建步驟來創建或更新需要版本的位置是值得的。對於啓動畫面,Imagemagick可以在圖像上繪製文本。使用MsBuild(例如,通過您的引導程序.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> 

很明顯,您應該從項目中的任何源代碼中提取出版本。

+0

謝謝湯姆!這說得通.. – Gaurav 2013-05-08 14:11:53