当我们使用 WIX 将鼠标悬停在 .msi 文件上时如何显示版本号
how to show the version number when we hover on the .msi file using WIX
当鼠标悬停在 .msi 文件上时,应弹出一个工具提示,显示应用程序的版本:
我想在此描述框中显示版本号
那么我可以在我的代码中添加什么,以便当我将鼠标悬停在 .msi 文件上时在此框中获得此版本号。
PUT-GUID-HERE:对于所有示例,将“PUT-GUID-HERE”替换为 GUID。您可以在这里生成一个:https://www.guidgenerator.com/
可能有更简单的方法来做到这一点,但似乎可以在 Package 元素中“re-purpose”Comments attribute
这 - 这是一个片段,相关部分是“评论”属性:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="Version: 1.0.993" />
截图:
完整样本:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="1.0.993"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: 1.0.993" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="HoverVersionNumber" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="HoverVersionNumber">
<Component Feature="ProductFeature">
<File Source="C:\Windows\Notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
现在使用预处理器定义条目以允许设置一次版本号并在需要时应用 - $(var.MyVersion)
标记将扩展为定义中的版本号声明(允许单个位置更新版本号,前提是标记在源中的所有位置都是最新的):
片段:
<?define MyVersion = "1.0.993"?>
<..>
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="$(var.MyVersion)"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: $(var.MyVersion)" />
完整样本:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define MyVersion = "1.0.993"?>
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="$(var.MyVersion)"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: $(var.MyVersion)" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="HoverVersionNumber" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="HoverVersionNumber">
<Component Feature="ProductFeature">
<File Source="C:\Windows\Notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
当鼠标悬停在 .msi 文件上时,应弹出一个工具提示,显示应用程序的版本:
我想在此描述框中显示版本号 那么我可以在我的代码中添加什么,以便当我将鼠标悬停在 .msi 文件上时在此框中获得此版本号。
PUT-GUID-HERE:对于所有示例,将“PUT-GUID-HERE”替换为 GUID。您可以在这里生成一个:https://www.guidgenerator.com/
可能有更简单的方法来做到这一点,但似乎可以在 Package 元素中“re-purpose”Comments attribute
这 - 这是一个片段,相关部分是“评论”属性:
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" Comments="Version: 1.0.993" />
截图:
完整样本:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="1.0.993"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: 1.0.993" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="HoverVersionNumber" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="HoverVersionNumber">
<Component Feature="ProductFeature">
<File Source="C:\Windows\Notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
现在使用预处理器定义条目以允许设置一次版本号并在需要时应用 - $(var.MyVersion)
标记将扩展为定义中的版本号声明(允许单个位置更新版本号,前提是标记在源中的所有位置都是最新的):
片段:
<?define MyVersion = "1.0.993"?>
<..>
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="$(var.MyVersion)"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: $(var.MyVersion)" />
完整样本:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<?define MyVersion = "1.0.993"?>
<Product Id="*" Name="HoverVersionNumber" Language="1033" Version="$(var.MyVersion)"
Manufacturer="Tester" UpgradeCode="PUT-GUID-HERE">
<Package InstallerVersion="200" Compressed="yes"
InstallScope="perMachine" Comments="Version: $(var.MyVersion)" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Feature Id="ProductFeature" Title="HoverVersionNumber" Level="1" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="HoverVersionNumber">
<Component Feature="ProductFeature">
<File Source="C:\Windows\Notepad.exe" />
</Component>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>