mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Implement delete on uninstall
This commit is contained in:
parent
cf17b01387
commit
81974c44d2
@ -29,7 +29,7 @@
|
|||||||
<PublisherName>Media Browser Team</PublisherName>
|
<PublisherName>Media Browser Team</PublisherName>
|
||||||
<SuiteName>Media Browser</SuiteName>
|
<SuiteName>Media Browser</SuiteName>
|
||||||
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
|
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
|
||||||
<ApplicationRevision>15</ApplicationRevision>
|
<ApplicationRevision>16</ApplicationRevision>
|
||||||
<ApplicationVersion>0.1.1.%2a</ApplicationVersion>
|
<ApplicationVersion>0.1.1.%2a</ApplicationVersion>
|
||||||
<UseApplicationTrust>false</UseApplicationTrust>
|
<UseApplicationTrust>false</UseApplicationTrust>
|
||||||
<PublishWizardCompleted>true</PublishWizardCompleted>
|
<PublishWizardCompleted>true</PublishWizardCompleted>
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
<CheckBox x:Name="cbxRemovePlugins" Content="Delete Plug-ins" HorizontalAlignment="Left" Margin="16,68,0,0" VerticalAlignment="Top"/>
|
<CheckBox x:Name="cbxRemovePlugins" Content="Delete Plug-ins" HorizontalAlignment="Left" Margin="16,68,0,0" VerticalAlignment="Top"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
<Button x:Name="btnFinished" Content="Uninstall" HorizontalAlignment="Left" Margin="505,341,0,0" VerticalAlignment="Top" Width="75" IsDefault="True" RenderTransformOrigin="0.991,-1.041" Click="BtnFinished_OnClick" Visibility="Hidden"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
@ -13,6 +13,7 @@ namespace MediaBrowser.Uninstaller.Execute
|
|||||||
public partial class MainWindow : Window
|
public partial class MainWindow : Window
|
||||||
{
|
{
|
||||||
protected string Product = "Server";
|
protected string Product = "Server";
|
||||||
|
protected string RootSuffix = "-Server";
|
||||||
|
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
@ -27,10 +28,12 @@ namespace MediaBrowser.Uninstaller.Execute
|
|||||||
{
|
{
|
||||||
case "server":
|
case "server":
|
||||||
Product = "Server";
|
Product = "Server";
|
||||||
|
RootSuffix = "-Server";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "mbt":
|
case "mbt":
|
||||||
Product = "Theater";
|
Product = "Theater";
|
||||||
|
RootSuffix = "-UI";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -93,10 +96,42 @@ namespace MediaBrowser.Uninstaller.Execute
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var rootPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), "MediaBrowser" + RootSuffix);
|
||||||
|
|
||||||
|
if (cbxRemoveAll.IsChecked == true)
|
||||||
|
{
|
||||||
|
// Just remove our whole directory
|
||||||
|
RemovePath(rootPath);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// First remove the system
|
||||||
|
lblHeading.Content = "Removing System Files...";
|
||||||
|
RemovePath(Path.Combine(rootPath, "System"));
|
||||||
|
|
||||||
|
// And then the others specified
|
||||||
|
if (cbxRemoveCache.IsChecked == true)
|
||||||
|
{
|
||||||
|
lblHeading.Content = "Removing Cache and Data Files...";
|
||||||
|
RemovePath(Path.Combine(rootPath, "cache"));
|
||||||
|
RemovePath(Path.Combine(rootPath, "data"));
|
||||||
|
}
|
||||||
|
if (cbxRemoveConfig.IsChecked == true)
|
||||||
|
{
|
||||||
|
lblHeading.Content = "Removing Config Files...";
|
||||||
|
RemovePath(Path.Combine(rootPath, "config"));
|
||||||
|
}
|
||||||
|
if (cbxRemovePlugins.IsChecked == true)
|
||||||
|
{
|
||||||
|
lblHeading.Content = "Removing Plugin Files...";
|
||||||
|
RemovePath(Path.Combine(rootPath, "plugins"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// and done
|
// and done
|
||||||
lblHeading.Content = string.Format("Media Browser {0} Uninstalled.", Product);
|
lblHeading.Content = string.Format("Media Browser {0} Uninstalled.", Product);
|
||||||
btnUninstall.Content = "Finish";
|
btnUninstall.Visibility = Visibility.Hidden;
|
||||||
|
btnFinished.Visibility = Visibility.Visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void RemoveShortcut(string path)
|
private static void RemoveShortcut(string path)
|
||||||
@ -114,5 +149,26 @@ namespace MediaBrowser.Uninstaller.Execute
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void RemovePath(string path)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Directory.Delete(path, true);
|
||||||
|
}
|
||||||
|
catch (DirectoryNotFoundException)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
MessageBox.Show(string.Format("Error attempting to remove progam folder {0}\n\n {1}", path, ex.Message), "Error");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void BtnFinished_OnClick(object sender, RoutedEventArgs e)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user