首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在disk引导程序中显示磁盘空间不足的消息?

如何在disk引导程序中显示磁盘空间不足的消息?
EN

Stack Overflow用户
提问于 2016-07-05 00:39:26
回答 1查看 776关注 0票数 1

我用burn引导程序编写了自己的安装程序UI。它有一个WPF前端。我有一个包括3个MSI标牌的EXE。因此,当我试图在空间不足的磁盘中安装它时,如何在安装程序UI中显示错误消息对话框?是否有一个回调,如果有足够的磁盘空间,我可以找到?请指点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-06 12:57:03

我也想做同样的事。

秘密在于读取和解析BootstrapperApplicationData.xml。然后可以从InstalledSize元素中使用WixPackageProperties属性。这个链接Getting Display Name from PackageID向您展示了如何在运行时读取该文件。请注意,您必须将InstalledSize添加到相关结构中。

这将取决于您去检查磁盘空间与这些数字之和,并在安装前将其标记给用户。

这是我的一些代码的副本/粘贴:

代码语言:javascript
运行
复制
using System.Collections.ObjectModel;
using System.Xml.Serialization;

public class PackageInfo
{
    [XmlAttribute("Package")]
    public string Id { get; set; }

    [XmlAttribute("DisplayName")]
    public string DisplayName { get; set; }

    [XmlAttribute("Description")]
    public string Description { get; set; }

    [XmlAttribute("InstalledSize")]
    public int InstalledSize { get; set; }

}

[XmlRoot("BootstrapperApplicationData", IsNullable = false, Namespace = "http://schemas.microsoft.com/wix/2010/BootstrapperApplicationData")]
public class BundleInfo
{
    [XmlElement("WixPackageProperties")]
    public Collection<PackageInfo> Packages { get; set; } = new Collection<PackageInfo>();
}

public static class BundleInfoLoader
{
    private static readonly string bootstrapperApplicationData = "BootstrapperApplicationData.xml";

    public static BundleInfo Load()
    {
        var bundleFolder = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

        var path = Path.Combine(bundleFolder, bootstrapperApplicationData);

        var xmlSerializer = new XmlSerializer(typeof(BundleInfo));
        BundleInfo result;
        using (var fileStream = new FileStream(path, FileMode.Open))
        {
            var xmlReader = XmlReader.Create(fileStream);
            result = (BundleInfo)xmlSerializer.Deserialize(xmlReader);
        }

        return result;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38193740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档