小编Rob*_*bie的帖子

wix主要升级没有安装所有文件

我有一个非常简单的WiX项目(版本3.7),它安装了一些文件(.NET程序版本6.0.0.0).我准备使用WiX中的MajorUpgrade功能发布新版本6.0.1.0.

我在Product元素中保持UpgradeCode相同,并将Version从6.0.0.0更改为6.0.1.0

<Product Id="*" Name="MyApp" Version="6.0.1.0" Manufacturer="Me" 
       UpgradeCode="$(var.TheUpgradeCodeGUID)">
Run Code Online (Sandbox Code Playgroud)

在安装了6.0.0.0的计算机上,运行新安装程序.

删除旧版本6.0.0.0运行正常(所有已安装的文件都被删除),但是当安装程序继续安装新版本时,缺少2个文件:第三方DLL和第三方EXE(没有已被更改)未重新安装.

<Component Id="AutomaticUpdaterWPF.dll" Guid="*">
        <File Id="AutomaticUpdaterWPF.dll" Source="AutomaticUpdaterWPF.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="wyUpdaterProgram" Guid="*">
        <File Id="wyUpdaterProgram" Source="wyUpdate.exe" KeyPath="yes" Checksum="yes" />
</Component>
Run Code Online (Sandbox Code Playgroud)

在主要升级期间,<ComponentGroup>中的所有其他文件(一些已修改,一些未修改,包括其他第三方DLL)正在正确安装.

如果我在主要升级后单击"修复",则会重新显示2个丢失的文件.此外,如果我是第一次安装版本6.0.1.0(没有升级,但在干净的机器上首次安装),则直接和正常安装这两个文件.(在几台Windows机器上测试过(XP,7和8)

任何人有什么建议错误以及如何解决?

wix major-upgrade

29
推荐指数
3
解决办法
8497
查看次数

XML(de)序列化无效字符串在c#中不一致?

在C#(.net 4.0和4.5/vs2010和vs12)中,当我使用XMLSerializer序列化包含具有非法字符的字符串的对象时,不会引发错误.但是,当我反序列化该结果时,会抛出"无效字符"错误.

        // add to XML
        Items items = new Items();
        items.Item = "\v hello world"; // contains "illegal" character \v

        // variables
        System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(Items));
        string tmpFile = Path.GetTempFileName();

        // serialize
        using (FileStream tmpFileStream = new FileStream(tmpFile, FileMode.Open, FileAccess.ReadWrite))
        {
            serializer.Serialize(tmpFileStream, items);
        }
        Console.WriteLine("Success! XML serialized in file " + tmpFile);

        // deserialize
        Items result = null;
        using (FileStream plainTextFile = new FileStream(tmpFile, FileMode.Open, FileAccess.Read))
        {
            result = (Items)serializer.Deserialize(plainTextFile); //FAILS here
        }

        Console.WriteLine(result.Item);
Run Code Online (Sandbox Code Playgroud)

"Items"只是由xsd/c Items.xsd自动生成的一个小类.Items.xsd只不过是一个包含一个子元素(Item)的根元素(Items):

<?xml version="1.0" …
Run Code Online (Sandbox Code Playgroud)

c# xml-serialization illegal-characters xmlserializer

13
推荐指数
1
解决办法
8844
查看次数

在其他XAML文件中用网格替换内容WPF网格控件

我正在尝试用代码(c#)中的第二个XAML文件中定义的另一个WPF网格替换WPF网格控件的内容.

(简化示例)Window1.xaml:

<Window x:Class="Demo1.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<DockPanel>
    <Menu DockPanel.Dock="Top">
        <MenuItem Header="_Set Grid" Click="MenuItem_Click" />
    </Menu>
    <StatusBar DockPanel.Dock="Bottom">
        <StatusBarItem Name="statusItem">Status</StatusBarItem>
    </StatusBar>
    <Grid Name="header" DockPanel.Dock="Top">
        <Grid.RowDefinitions>
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <TextBlock Name="txtHi" Grid.Row="0" Grid.Column="0">Hi</TextBlock>
        <TextBlock Name="txtName" Grid.Row="0" Grid.Column="1">X</TextBlock>
    </Grid>
    <Grid Name="gridContent">

    </Grid>
</DockPanel>
Run Code Online (Sandbox Code Playgroud)

Windows2.xaml包含替换gridContent的网格

<Window x:Class="Demo1.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window2" Height="300" Width="300">
<Grid Name="grid2">
    <Grid.RowDefinitions>
    <RowDefinition />
    <RowDefinition />
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition />
        <ColumnDefinition />
    </Grid.ColumnDefinitions>
    <Label Grid.Column="1" Grid.Row="1">Hello !!!</Label>
</Grid>
Run Code Online (Sandbox Code Playgroud)

Windows1.xaml.cs后面的代码中的MenuItem_Click事件包含:

private void MenuItem_Click(object …
Run Code Online (Sandbox Code Playgroud)

c# wpf grid xaml

1
推荐指数
1
解决办法
1万
查看次数