Some checks failed
Release / release (push) Failing after 0s
Worker: - Wire UseWindowsService + Microsoft.Extensions.Hosting.WindowsServices so SCM's Service Control Protocol handshake succeeds. Previously the binary exited immediately under sc start, leaving the service registered but never running. Installer: - Pin SDK to .NET 9 (global.json) — SDK 10 dropped win-arm from its RID graph, breaking restore of the WPF project; .NET 9 keeps win-arm AND understands the .slnx solution format. - Force SelfContained=true and default RID=win-x64 when PublishSingleFile is set, so Rider Publish and CLI produce the same bundle. - Dark theme: set Background/Foreground explicitly on WizardWindow and SettingsWindow roots (WPF implicit styles don't cascade to derived Window types). Custom ComboBox template + ComboBoxItem style so dropdowns honour the dark palette instead of system defaults. - Throttle download progress to one report per MB and overwrite the same UI line (\r prefix marker) instead of appending per chunk. - Register ClaudeDo in HKLM\...\Uninstall so it appears in Apps & Features. Copy installer into InstallDir\uninstaller\ for the UninstallString, and schedule a cmd.exe trampoline to handle the self-delete case when Apps & Features launches the copy from inside the install dir. - Treat sc.exe stop exit 1062 (ERROR_SERVICE_NOT_ACTIVE) as success. - Delete the uninstall registry key during UninstallRunner. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
100 lines
4.9 KiB
XML
100 lines
4.9 KiB
XML
<Window x:Class="ClaudeDo.Installer.Views.WizardWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:views="clr-namespace:ClaudeDo.Installer.Views"
|
|
Title="ClaudeDo Installer"
|
|
Width="720" Height="520"
|
|
MinWidth="620" MinHeight="460"
|
|
WindowStartupLocation="CenterScreen"
|
|
Background="{StaticResource WindowBgBrush}"
|
|
Foreground="{StaticResource TextPrimaryBrush}"
|
|
FontFamily="Segoe UI"
|
|
FontSize="13"
|
|
d:DataContext="{d:DesignInstance views:WizardViewModel}"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
mc:Ignorable="d">
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
<RowDefinition Height="Auto"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Step Indicator -->
|
|
<Border Grid.Row="0" Background="{StaticResource IslandBgBrush}"
|
|
BorderBrush="{StaticResource BorderSubtleBrush}" BorderThickness="0,0,0,1"
|
|
Padding="20,14">
|
|
<ItemsControl ItemsSource="{Binding Pages}">
|
|
<ItemsControl.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel Orientation="Horizontal"/>
|
|
</ItemsPanelTemplate>
|
|
</ItemsControl.ItemsPanel>
|
|
<ItemsControl.ItemTemplate>
|
|
<DataTemplate>
|
|
<Border x:Name="StepBorder" CornerRadius="4" Padding="10,5" Margin="0,0,6,0"
|
|
BorderThickness="1">
|
|
<Border.Background>
|
|
<MultiBinding Converter="{StaticResource StepActiveConverter}" ConverterParameter="Background">
|
|
<Binding/>
|
|
<Binding RelativeSource="{RelativeSource AncestorType=Window}" Path="DataContext.CurrentPage"/>
|
|
</MultiBinding>
|
|
</Border.Background>
|
|
<Border.BorderBrush>
|
|
<MultiBinding Converter="{StaticResource StepActiveConverter}" ConverterParameter="BorderBrush">
|
|
<Binding/>
|
|
<Binding RelativeSource="{RelativeSource AncestorType=Window}" Path="DataContext.CurrentPage"/>
|
|
</MultiBinding>
|
|
</Border.BorderBrush>
|
|
<TextBlock Text="{Binding Title}" FontSize="12">
|
|
<TextBlock.Foreground>
|
|
<MultiBinding Converter="{StaticResource StepActiveConverter}" ConverterParameter="Foreground">
|
|
<Binding/>
|
|
<Binding RelativeSource="{RelativeSource AncestorType=Window}" Path="DataContext.CurrentPage"/>
|
|
</MultiBinding>
|
|
</TextBlock.Foreground>
|
|
</TextBlock>
|
|
</Border>
|
|
</DataTemplate>
|
|
</ItemsControl.ItemTemplate>
|
|
</ItemsControl>
|
|
</Border>
|
|
|
|
<!-- Page Content -->
|
|
<Border Grid.Row="1" Padding="24,20">
|
|
<ContentControl Content="{Binding CurrentPage.View}"/>
|
|
</Border>
|
|
|
|
<!-- Bottom Bar -->
|
|
<Border Grid.Row="2" Background="{StaticResource IslandBgBrush}"
|
|
BorderBrush="{StaticResource BorderSubtleBrush}" BorderThickness="0,1,0,0"
|
|
Padding="20,12">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Validation error -->
|
|
<TextBlock Grid.Column="0" Text="{Binding ValidationError}"
|
|
Foreground="{StaticResource ErrorBrush}"
|
|
VerticalAlignment="Center" FontSize="12"
|
|
Visibility="{Binding ValidationError, Converter={StaticResource NullToCollapsedConverter}}"/>
|
|
|
|
<Button Grid.Column="1" Content="Back"
|
|
Command="{Binding GoBackCommand}"
|
|
IsEnabled="{Binding CanGoBack}"
|
|
Margin="0,0,8,0" MinWidth="80"/>
|
|
|
|
<Button Grid.Column="2" Content="{Binding NextButtonText}"
|
|
Command="{Binding GoNextCommand}"
|
|
Style="{StaticResource AccentButton}"
|
|
MinWidth="100"/>
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</Window>
|