parent
9279893434
commit
ef0ed773b8
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<appSettings>
|
|
||||||
<add key="product" value="server" />
|
|
||||||
<add key="class" value="Dev" />
|
|
||||||
</appSettings>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
|
||||||
</startup>
|
|
||||||
</configuration>
|
|
@ -1,8 +0,0 @@
|
|||||||
<Application x:Class="MediaBrowser.Installer.App"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
StartupUri="MainWindow.xaml">
|
|
||||||
<Application.Resources>
|
|
||||||
|
|
||||||
</Application.Resources>
|
|
||||||
</Application>
|
|
@ -1,39 +0,0 @@
|
|||||||
<UserControl x:Class="MediaBrowser.Installer.Code.DownloadAnimation"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
||||||
mc:Ignorable="d" Height="129.167" Width="421.27">
|
|
||||||
<UserControl.Resources>
|
|
||||||
<Style TargetType="Ellipse">
|
|
||||||
<Setter Property="Fill" Value="LightGray" />
|
|
||||||
<Setter Property="Width" Value="8" />
|
|
||||||
<Setter Property="Height" Value="8" />
|
|
||||||
</Style>
|
|
||||||
</UserControl.Resources>
|
|
||||||
<Canvas Height="58" Width="275">
|
|
||||||
<Ellipse Canvas.Left="63" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="77" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="91" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="105" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="119" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="133" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="147" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="161" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="175" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="189" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="203" Canvas.Top="23" />
|
|
||||||
<Ellipse Canvas.Left="217" Canvas.Top="23" />
|
|
||||||
<Canvas Canvas.Left="17" Canvas.Top="19"
|
|
||||||
Name="SlidingCanvas" Height="17" Width="46">
|
|
||||||
<Ellipse Canvas.Left="4" Canvas.Top="4" Fill="Orange" />
|
|
||||||
<Ellipse Canvas.Left="18" Canvas.Top="4" Fill="Orange" />
|
|
||||||
<Ellipse Canvas.Left="32" Canvas.Top="4" Fill="Orange" />
|
|
||||||
</Canvas>
|
|
||||||
<Image Canvas.Left="-42" Canvas.Top="-19"
|
|
||||||
Source="Images\internet-globe.jpg" Stretch="None" Height="94" Width="100" RenderTransformOrigin="0.341,0.403" />
|
|
||||||
<Image Canvas.Left="231" Canvas.Top="-25"
|
|
||||||
Source="Images\computer_256.png" Height="100" Width="100" Stretch="None" />
|
|
||||||
</Canvas>
|
|
||||||
|
|
||||||
</UserControl>
|
|
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 35 KiB |
@ -1,21 +0,0 @@
|
|||||||
namespace MediaBrowser.Installer.Code
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Enum PackageType
|
|
||||||
/// </summary>
|
|
||||||
public enum PackageType
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// All
|
|
||||||
/// </summary>
|
|
||||||
All,
|
|
||||||
/// <summary>
|
|
||||||
/// The system
|
|
||||||
/// </summary>
|
|
||||||
System,
|
|
||||||
/// <summary>
|
|
||||||
/// The user installed
|
|
||||||
/// </summary>
|
|
||||||
UserInstalled
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,21 +0,0 @@
|
|||||||
namespace MediaBrowser.Installer.Code
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// Enum PackageVersionClass
|
|
||||||
/// </summary>
|
|
||||||
public enum PackageVersionClass
|
|
||||||
{
|
|
||||||
/// <summary>
|
|
||||||
/// The release
|
|
||||||
/// </summary>
|
|
||||||
Release = 0,
|
|
||||||
/// <summary>
|
|
||||||
/// The beta
|
|
||||||
/// </summary>
|
|
||||||
Beta = 1,
|
|
||||||
/// <summary>
|
|
||||||
/// The dev
|
|
||||||
/// </summary>
|
|
||||||
Dev = 2
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,277 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
*
|
|
||||||
* Filename: ShellLinkNative.cs
|
|
||||||
* Author: Mattias Sjögren (mattias@mvps.org)
|
|
||||||
* http://www.msjogren.net/dotnet/
|
|
||||||
*
|
|
||||||
* Description: Defines the native types used to manipulate shell shortcuts.
|
|
||||||
*
|
|
||||||
* Public types: enum SLR_FLAGS
|
|
||||||
* enum SLGP_FLAGS
|
|
||||||
* struct WIN32_FIND_DATA[A|W]
|
|
||||||
* interface IPersistFile
|
|
||||||
* interface IShellLink[A|W]
|
|
||||||
* class ShellLink
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright ©2001-2002, Mattias Sjögren
|
|
||||||
*
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Text;
|
|
||||||
using FILETIME = System.Runtime.InteropServices.ComTypes.FILETIME;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Installer.Code
|
|
||||||
{
|
|
||||||
// IShellLink.Resolve fFlags
|
|
||||||
[Flags()]
|
|
||||||
public enum SLR_FLAGS
|
|
||||||
{
|
|
||||||
SLR_NO_UI = 0x1,
|
|
||||||
SLR_ANY_MATCH = 0x2,
|
|
||||||
SLR_UPDATE = 0x4,
|
|
||||||
SLR_NOUPDATE = 0x8,
|
|
||||||
SLR_NOSEARCH = 0x10,
|
|
||||||
SLR_NOTRACK = 0x20,
|
|
||||||
SLR_NOLINKINFO = 0x40,
|
|
||||||
SLR_INVOKE_MSI = 0x80
|
|
||||||
}
|
|
||||||
|
|
||||||
// IShellLink.GetPath fFlags
|
|
||||||
[Flags()]
|
|
||||||
public enum SLGP_FLAGS
|
|
||||||
{
|
|
||||||
SLGP_SHORTPATH = 0x1,
|
|
||||||
SLGP_UNCPRIORITY = 0x2,
|
|
||||||
SLGP_RAWPATH = 0x4
|
|
||||||
}
|
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential, CharSet=CharSet.Ansi)]
|
|
||||||
public struct WIN32_FIND_DATAA
|
|
||||||
{
|
|
||||||
public int dwFileAttributes;
|
|
||||||
public FILETIME ftCreationTime;
|
|
||||||
public FILETIME ftLastAccessTime;
|
|
||||||
public FILETIME ftLastWriteTime;
|
|
||||||
public int nFileSizeHigh;
|
|
||||||
public int nFileSizeLow;
|
|
||||||
public int dwReserved0;
|
|
||||||
public int dwReserved1;
|
|
||||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=MAX_PATH)]
|
|
||||||
public string cFileName;
|
|
||||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=14)]
|
|
||||||
public string cAlternateFileName;
|
|
||||||
private const int MAX_PATH = 260;
|
|
||||||
}
|
|
||||||
|
|
||||||
[StructLayoutAttribute(LayoutKind.Sequential, CharSet=CharSet.Unicode)]
|
|
||||||
public struct WIN32_FIND_DATAW
|
|
||||||
{
|
|
||||||
public int dwFileAttributes;
|
|
||||||
public FILETIME ftCreationTime;
|
|
||||||
public FILETIME ftLastAccessTime;
|
|
||||||
public FILETIME ftLastWriteTime;
|
|
||||||
public int nFileSizeHigh;
|
|
||||||
public int nFileSizeLow;
|
|
||||||
public int dwReserved0;
|
|
||||||
public int dwReserved1;
|
|
||||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=MAX_PATH)]
|
|
||||||
public string cFileName;
|
|
||||||
[MarshalAs(UnmanagedType.ByValTStr, SizeConst=14)]
|
|
||||||
public string cAlternateFileName;
|
|
||||||
private const int MAX_PATH = 260;
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
ComImport(),
|
|
||||||
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
||||||
Guid("0000010B-0000-0000-C000-000000000046")
|
|
||||||
]
|
|
||||||
public interface IPersistFile
|
|
||||||
{
|
|
||||||
#region Methods inherited from IPersist
|
|
||||||
|
|
||||||
void GetClassID(
|
|
||||||
out Guid pClassID);
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
[PreserveSig()]
|
|
||||||
int IsDirty();
|
|
||||||
|
|
||||||
void Load(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
|
|
||||||
int dwMode);
|
|
||||||
|
|
||||||
void Save(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszFileName,
|
|
||||||
[MarshalAs(UnmanagedType.Bool)] bool fRemember);
|
|
||||||
|
|
||||||
void SaveCompleted(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszFileName);
|
|
||||||
|
|
||||||
void GetCurFile(
|
|
||||||
out IntPtr ppszFileName);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
ComImport(),
|
|
||||||
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
||||||
Guid("000214EE-0000-0000-C000-000000000046")
|
|
||||||
]
|
|
||||||
public interface IShellLinkA
|
|
||||||
{
|
|
||||||
void GetPath(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPStr)] StringBuilder pszFile,
|
|
||||||
int cchMaxPath,
|
|
||||||
out WIN32_FIND_DATAA pfd,
|
|
||||||
SLGP_FLAGS fFlags);
|
|
||||||
|
|
||||||
void GetIDList(
|
|
||||||
out IntPtr ppidl);
|
|
||||||
|
|
||||||
void SetIDList(
|
|
||||||
IntPtr pidl);
|
|
||||||
|
|
||||||
void GetDescription(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPStr)] StringBuilder pszName,
|
|
||||||
int cchMaxName);
|
|
||||||
|
|
||||||
void SetDescription(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszName);
|
|
||||||
|
|
||||||
void GetWorkingDirectory(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPStr)] StringBuilder pszDir,
|
|
||||||
int cchMaxPath);
|
|
||||||
|
|
||||||
void SetWorkingDirectory(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszDir);
|
|
||||||
|
|
||||||
void GetArguments(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPStr)] StringBuilder pszArgs,
|
|
||||||
int cchMaxPath);
|
|
||||||
|
|
||||||
void SetArguments(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszArgs);
|
|
||||||
|
|
||||||
void GetHotkey(
|
|
||||||
out short pwHotkey);
|
|
||||||
|
|
||||||
void SetHotkey(
|
|
||||||
short wHotkey);
|
|
||||||
|
|
||||||
void GetShowCmd(
|
|
||||||
out int piShowCmd);
|
|
||||||
|
|
||||||
void SetShowCmd(
|
|
||||||
int iShowCmd);
|
|
||||||
|
|
||||||
void GetIconLocation(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPStr)] StringBuilder pszIconPath,
|
|
||||||
int cchIconPath,
|
|
||||||
out int piIcon);
|
|
||||||
|
|
||||||
void SetIconLocation(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszIconPath,
|
|
||||||
int iIcon);
|
|
||||||
|
|
||||||
void SetRelativePath(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszPathRel,
|
|
||||||
int dwReserved);
|
|
||||||
|
|
||||||
void Resolve(
|
|
||||||
IntPtr hwnd,
|
|
||||||
SLR_FLAGS fFlags);
|
|
||||||
|
|
||||||
void SetPath(
|
|
||||||
[MarshalAs(UnmanagedType.LPStr)] string pszFile);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
[
|
|
||||||
ComImport(),
|
|
||||||
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
|
|
||||||
Guid("000214F9-0000-0000-C000-000000000046")
|
|
||||||
]
|
|
||||||
public interface IShellLinkW
|
|
||||||
{
|
|
||||||
void GetPath(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile,
|
|
||||||
int cchMaxPath,
|
|
||||||
out WIN32_FIND_DATAW pfd,
|
|
||||||
SLGP_FLAGS fFlags);
|
|
||||||
|
|
||||||
void GetIDList(
|
|
||||||
out IntPtr ppidl);
|
|
||||||
|
|
||||||
void SetIDList(
|
|
||||||
IntPtr pidl);
|
|
||||||
|
|
||||||
void GetDescription(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszName,
|
|
||||||
int cchMaxName);
|
|
||||||
|
|
||||||
void SetDescription(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszName);
|
|
||||||
|
|
||||||
void GetWorkingDirectory(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir,
|
|
||||||
int cchMaxPath);
|
|
||||||
|
|
||||||
void SetWorkingDirectory(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszDir);
|
|
||||||
|
|
||||||
void GetArguments(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs,
|
|
||||||
int cchMaxPath);
|
|
||||||
|
|
||||||
void SetArguments(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszArgs);
|
|
||||||
|
|
||||||
void GetHotkey(
|
|
||||||
out short pwHotkey);
|
|
||||||
|
|
||||||
void SetHotkey(
|
|
||||||
short wHotkey);
|
|
||||||
|
|
||||||
void GetShowCmd(
|
|
||||||
out int piShowCmd);
|
|
||||||
|
|
||||||
void SetShowCmd(
|
|
||||||
int iShowCmd);
|
|
||||||
|
|
||||||
void GetIconLocation(
|
|
||||||
[Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath,
|
|
||||||
int cchIconPath,
|
|
||||||
out int piIcon);
|
|
||||||
|
|
||||||
void SetIconLocation(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszIconPath,
|
|
||||||
int iIcon);
|
|
||||||
|
|
||||||
void SetRelativePath(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszPathRel,
|
|
||||||
int dwReserved);
|
|
||||||
|
|
||||||
void Resolve(
|
|
||||||
IntPtr hwnd,
|
|
||||||
SLR_FLAGS fFlags);
|
|
||||||
|
|
||||||
void SetPath(
|
|
||||||
[MarshalAs(UnmanagedType.LPWStr)] string pszFile);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[
|
|
||||||
ComImport(),
|
|
||||||
Guid("00021401-0000-0000-C000-000000000046")
|
|
||||||
]
|
|
||||||
public class ShellLink // : IPersistFile, IShellLinkA, IShellLinkW
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@ -1,348 +0,0 @@
|
|||||||
/**************************************************************************
|
|
||||||
*
|
|
||||||
* Filename: ShellShortcut.cs
|
|
||||||
* Author: Mattias Sjögren (mattias@mvps.org)
|
|
||||||
* http://www.msjogren.net/dotnet/
|
|
||||||
*
|
|
||||||
* Description: Defines a .NET friendly class, ShellShortcut, for reading
|
|
||||||
* and writing shortcuts.
|
|
||||||
* Define the conditional compilation symbol UNICODE to use
|
|
||||||
* IShellLinkW internally.
|
|
||||||
*
|
|
||||||
* Public types: class ShellShortcut
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Dependencies: ShellLinkNative.cs
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* Copyright ©2001-2002, Mattias Sjögren
|
|
||||||
*
|
|
||||||
**************************************************************************/
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Drawing;
|
|
||||||
using System.IO;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
using System.Text;
|
|
||||||
using System.Windows.Forms;
|
|
||||||
|
|
||||||
|
|
||||||
namespace MediaBrowser.Installer.Code
|
|
||||||
{
|
|
||||||
/// <remarks>
|
|
||||||
/// .NET friendly wrapper for the ShellLink class
|
|
||||||
/// </remarks>
|
|
||||||
public class ShellShortcut : IDisposable
|
|
||||||
{
|
|
||||||
private const int INFOTIPSIZE = 1024;
|
|
||||||
private const int MAX_PATH = 260;
|
|
||||||
|
|
||||||
private const int SW_SHOWNORMAL = 1;
|
|
||||||
private const int SW_SHOWMINIMIZED = 2;
|
|
||||||
private const int SW_SHOWMAXIMIZED = 3;
|
|
||||||
private const int SW_SHOWMINNOACTIVE = 7;
|
|
||||||
|
|
||||||
|
|
||||||
#if UNICODE
|
|
||||||
private IShellLinkW m_Link;
|
|
||||||
#else
|
|
||||||
private IShellLinkA m_Link;
|
|
||||||
#endif
|
|
||||||
private string m_sPath;
|
|
||||||
|
|
||||||
///
|
|
||||||
/// <param name='linkPath'>
|
|
||||||
/// Path to new or existing shortcut file (.lnk).
|
|
||||||
/// </param>
|
|
||||||
///
|
|
||||||
public ShellShortcut(string linkPath)
|
|
||||||
{
|
|
||||||
IPersistFile pf;
|
|
||||||
|
|
||||||
m_sPath = linkPath;
|
|
||||||
|
|
||||||
#if UNICODE
|
|
||||||
m_Link = (IShellLinkW) new ShellLink();
|
|
||||||
#else
|
|
||||||
m_Link = (IShellLinkA) new ShellLink();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if ( File.Exists( linkPath ) ) {
|
|
||||||
pf = (IPersistFile)m_Link;
|
|
||||||
pf.Load( linkPath, 0 );
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// IDisplosable implementation
|
|
||||||
//
|
|
||||||
public void Dispose()
|
|
||||||
{
|
|
||||||
if ( m_Link != null ) {
|
|
||||||
Marshal.ReleaseComObject( m_Link );
|
|
||||||
m_Link = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the argument list of the shortcut.
|
|
||||||
/// </value>
|
|
||||||
public string Arguments
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( INFOTIPSIZE );
|
|
||||||
m_Link.GetArguments( sb, sb.Capacity );
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
set { m_Link.SetArguments( value ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets a description of the shortcut.
|
|
||||||
/// </value>
|
|
||||||
public string Description
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( INFOTIPSIZE );
|
|
||||||
m_Link.GetDescription( sb, sb.Capacity );
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
set { m_Link.SetDescription( value ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the working directory (aka start in directory) of the shortcut.
|
|
||||||
/// </value>
|
|
||||||
public string WorkingDirectory
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( MAX_PATH );
|
|
||||||
m_Link.GetWorkingDirectory( sb, sb.Capacity );
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
set { m_Link.SetWorkingDirectory( value ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// If Path returns an empty string, the shortcut is associated with
|
|
||||||
// a PIDL instead, which can be retrieved with IShellLink.GetIDList().
|
|
||||||
// This is beyond the scope of this wrapper class.
|
|
||||||
//
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the target path of the shortcut.
|
|
||||||
/// </value>
|
|
||||||
public string Path
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
#if UNICODE
|
|
||||||
WIN32_FIND_DATAW wfd = new WIN32_FIND_DATAW();
|
|
||||||
#else
|
|
||||||
WIN32_FIND_DATAA wfd = new WIN32_FIND_DATAA();
|
|
||||||
#endif
|
|
||||||
StringBuilder sb = new StringBuilder( MAX_PATH );
|
|
||||||
|
|
||||||
m_Link.GetPath( sb, sb.Capacity, out wfd, SLGP_FLAGS.SLGP_UNCPRIORITY );
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
set { m_Link.SetPath( value ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the path of the <see cref="Icon"/> assigned to the shortcut.
|
|
||||||
/// </value>
|
|
||||||
/// <summary>
|
|
||||||
/// <seealso cref="IconIndex"/>
|
|
||||||
/// </summary>
|
|
||||||
public string IconPath
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( MAX_PATH );
|
|
||||||
int nIconIdx;
|
|
||||||
m_Link.GetIconLocation( sb, sb.Capacity, out nIconIdx );
|
|
||||||
return sb.ToString();
|
|
||||||
}
|
|
||||||
set { m_Link.SetIconLocation( value, IconIndex ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the index of the <see cref="Icon"/> assigned to the shortcut.
|
|
||||||
/// Set to zero when the <see cref="IconPath"/> property specifies a .ICO file.
|
|
||||||
/// </value>
|
|
||||||
/// <summary>
|
|
||||||
/// <seealso cref="IconPath"/>
|
|
||||||
/// </summary>
|
|
||||||
public int IconIndex
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( MAX_PATH );
|
|
||||||
int nIconIdx;
|
|
||||||
m_Link.GetIconLocation( sb, sb.Capacity, out nIconIdx );
|
|
||||||
return nIconIdx;
|
|
||||||
}
|
|
||||||
set { m_Link.SetIconLocation( IconPath, value ); }
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Retrieves the Icon of the shortcut as it will appear in Explorer.
|
|
||||||
/// Use the <see cref="IconPath"/> and <see cref="IconIndex"/>
|
|
||||||
/// properties to change it.
|
|
||||||
/// </value>
|
|
||||||
public Icon Icon
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
StringBuilder sb = new StringBuilder( MAX_PATH );
|
|
||||||
int nIconIdx;
|
|
||||||
IntPtr hIcon, hInst;
|
|
||||||
Icon ico, clone;
|
|
||||||
|
|
||||||
|
|
||||||
m_Link.GetIconLocation( sb, sb.Capacity, out nIconIdx );
|
|
||||||
hInst = Marshal.GetHINSTANCE( this.GetType().Module );
|
|
||||||
hIcon = Native.ExtractIcon( hInst, sb.ToString(), nIconIdx );
|
|
||||||
if ( hIcon == IntPtr.Zero )
|
|
||||||
return null;
|
|
||||||
|
|
||||||
// Return a cloned Icon, because we have to free the original ourselves.
|
|
||||||
ico = Icon.FromHandle( hIcon );
|
|
||||||
clone = (Icon)ico.Clone();
|
|
||||||
ico.Dispose();
|
|
||||||
Native.DestroyIcon( hIcon );
|
|
||||||
return clone;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the System.Diagnostics.ProcessWindowStyle value
|
|
||||||
/// that decides the initial show state of the shortcut target. Note that
|
|
||||||
/// ProcessWindowStyle.Hidden is not a valid property value.
|
|
||||||
/// </value>
|
|
||||||
public ProcessWindowStyle WindowStyle
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
int nWS;
|
|
||||||
m_Link.GetShowCmd( out nWS );
|
|
||||||
|
|
||||||
switch ( nWS ) {
|
|
||||||
case SW_SHOWMINIMIZED:
|
|
||||||
case SW_SHOWMINNOACTIVE:
|
|
||||||
return ProcessWindowStyle.Minimized;
|
|
||||||
|
|
||||||
case SW_SHOWMAXIMIZED:
|
|
||||||
return ProcessWindowStyle.Maximized;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return ProcessWindowStyle.Normal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
int nWS;
|
|
||||||
|
|
||||||
switch ( value ) {
|
|
||||||
case ProcessWindowStyle.Normal:
|
|
||||||
nWS = SW_SHOWNORMAL;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ProcessWindowStyle.Minimized:
|
|
||||||
nWS = SW_SHOWMINNOACTIVE;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case ProcessWindowStyle.Maximized:
|
|
||||||
nWS = SW_SHOWMAXIMIZED;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default: // ProcessWindowStyle.Hidden
|
|
||||||
throw new ArgumentException("Unsupported ProcessWindowStyle value.");
|
|
||||||
}
|
|
||||||
|
|
||||||
m_Link.SetShowCmd( nWS );
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <value>
|
|
||||||
/// Gets or sets the hotkey for the shortcut.
|
|
||||||
/// </value>
|
|
||||||
public Keys Hotkey
|
|
||||||
{
|
|
||||||
get
|
|
||||||
{
|
|
||||||
short wHotkey;
|
|
||||||
int dwHotkey;
|
|
||||||
|
|
||||||
m_Link.GetHotkey( out wHotkey );
|
|
||||||
|
|
||||||
//
|
|
||||||
// Convert from IShellLink 16-bit format to Keys enumeration 32-bit value
|
|
||||||
// IShellLink: 0xMMVK
|
|
||||||
// Keys: 0x00MM00VK
|
|
||||||
// MM = Modifier (Alt, Control, Shift)
|
|
||||||
// VK = Virtual key code
|
|
||||||
//
|
|
||||||
dwHotkey = ((wHotkey & 0xFF00) << 8) | (wHotkey & 0xFF);
|
|
||||||
return (Keys) dwHotkey;
|
|
||||||
}
|
|
||||||
set
|
|
||||||
{
|
|
||||||
short wHotkey;
|
|
||||||
|
|
||||||
if ( (value & Keys.Modifiers) == 0 )
|
|
||||||
throw new ArgumentException("Hotkey must include a modifier key.");
|
|
||||||
|
|
||||||
//
|
|
||||||
// Convert from Keys enumeration 32-bit value to IShellLink 16-bit format
|
|
||||||
// IShellLink: 0xMMVK
|
|
||||||
// Keys: 0x00MM00VK
|
|
||||||
// MM = Modifier (Alt, Control, Shift)
|
|
||||||
// VK = Virtual key code
|
|
||||||
//
|
|
||||||
wHotkey = unchecked((short) ( ((int) (value & Keys.Modifiers) >> 8) | (int) (value & Keys.KeyCode) ));
|
|
||||||
m_Link.SetHotkey( wHotkey );
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Saves the shortcut to disk.
|
|
||||||
/// </summary>
|
|
||||||
public void Save()
|
|
||||||
{
|
|
||||||
IPersistFile pf = (IPersistFile) m_Link;
|
|
||||||
pf.Save( m_sPath, true );
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Returns a reference to the internal ShellLink object,
|
|
||||||
/// which can be used to perform more advanced operations
|
|
||||||
/// not supported by this wrapper class, by using the
|
|
||||||
/// IShellLink interface directly.
|
|
||||||
/// </summary>
|
|
||||||
public object ShellLink
|
|
||||||
{
|
|
||||||
get { return m_Link; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#region Native Win32 API functions
|
|
||||||
private class Native
|
|
||||||
{
|
|
||||||
[DllImport("shell32.dll", CharSet=CharSet.Auto)]
|
|
||||||
public static extern IntPtr ExtractIcon(IntPtr hInst, string lpszExeFileName, int nIconIndex);
|
|
||||||
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
public static extern bool DestroyIcon(IntPtr hIcon);
|
|
||||||
}
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
Before Width: | Height: | Size: 138 KiB |
@ -1,58 +0,0 @@
|
|||||||
<Window
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
xmlns:Code="clr-namespace:MediaBrowser.Installer.Code" x:Class="MediaBrowser.Installer.MainWindow"
|
|
||||||
Title="Install Media Browser Server" Height="383.481" Width="663.057" ResizeMode="NoResize" WindowStyle="None">
|
|
||||||
<Border BorderBrush="DarkGray" BorderThickness="2" Margin="0,0,0,0">
|
|
||||||
<Grid Margin="-2,0,0,0">
|
|
||||||
<Image x:Name="imgLogo" HorizontalAlignment="Center" Height="172" Margin="10,10,57,0" VerticalAlignment="Top" Width="590" Source="Code/Images/mb3logo800.png" Opacity="0.5"/>
|
|
||||||
<Grid HorizontalAlignment="Left" Height="153" Margin="0,173,0,0" VerticalAlignment="Top" Width="662" Background="Gray">
|
|
||||||
<TextBlock x:Name="lblStatus" HorizontalAlignment="Left" Margin="12,14,0,18" Width="637" FontSize="36" Foreground="#FFE6D7D7" Text="Status" TextWrapping="WrapWithOverflow"/>
|
|
||||||
<Rectangle Fill="#FF49494B" HorizontalAlignment="Left" Height="13" Stroke="Black" VerticalAlignment="Bottom" Width="662"/>
|
|
||||||
<Rectangle x:Name="rectProgress" Fill="#FF0A0ABF" HorizontalAlignment="Left" Height="13" Stroke="Black" VerticalAlignment="Bottom" Width="0"/>
|
|
||||||
</Grid>
|
|
||||||
<Button x:Name="btnCancel" Content="Cancel" HorizontalAlignment="Left" Margin="552,336,0,0" Width="97" FontSize="14" Click="btnCancel_Click" Height="31" VerticalAlignment="Top"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
</Border>
|
|
||||||
<Window.Resources>
|
|
||||||
<!--Metro Button-->
|
|
||||||
<Style TargetType="{x:Type Button}" BasedOn="{x:Null}">
|
|
||||||
<Setter Property="Background" Value="Transparent"/>
|
|
||||||
<Setter Property="Foreground" Value="#222222"/>
|
|
||||||
<Setter Property="FontSize" Value="16"/>
|
|
||||||
<Setter Property="Padding" Value="10,5,10,5"/>
|
|
||||||
<Setter Property="BorderBrush" Value="#222222"/>
|
|
||||||
<Setter Property="BorderThickness" Value="2"/>
|
|
||||||
<Setter Property="Template">
|
|
||||||
<Setter.Value>
|
|
||||||
<ControlTemplate TargetType="{x:Type Button}">
|
|
||||||
<!-- We use Grid as a root because it is easy to add more elements to customize the button -->
|
|
||||||
<Grid x:Name="Grid">
|
|
||||||
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
|
|
||||||
|
|
||||||
<!-- Content Presenter is where the text content etc is placed by the control -->
|
|
||||||
<!-- The bindings are useful so that the control can be parameterized without editing the template -->
|
|
||||||
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<!--Each state sets a brush on the Border in the template -->
|
|
||||||
<ControlTemplate.Triggers>
|
|
||||||
<Trigger Property="IsPressed" Value="true">
|
|
||||||
<Setter Property="Background" Value="#222222" TargetName="Border"/>
|
|
||||||
<Setter Property="BorderBrush" Value="#222222" TargetName="Border"/>
|
|
||||||
<Setter Property="Foreground" Value="White"/>
|
|
||||||
<Setter Property="FontSize" Value="16"/>
|
|
||||||
</Trigger>
|
|
||||||
<Trigger Property="IsEnabled" Value="true"/>
|
|
||||||
<Trigger Property="IsEnabled" Value="false">
|
|
||||||
<Setter Property="BorderBrush" Value="#7f222222" TargetName="Border"/>
|
|
||||||
<Setter Property="Foreground" Value="#7f222222"/>
|
|
||||||
</Trigger>
|
|
||||||
</ControlTemplate.Triggers>
|
|
||||||
</ControlTemplate>
|
|
||||||
</Setter.Value>
|
|
||||||
</Setter>
|
|
||||||
</Style>
|
|
||||||
</Window.Resources>
|
|
||||||
</Window>
|
|
Binary file not shown.
Binary file not shown.
@ -1,117 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
</root>
|
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
|
||||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
|
||||||
<Profiles>
|
|
||||||
<Profile Name="(Default)" />
|
|
||||||
</Profiles>
|
|
||||||
<Settings />
|
|
||||||
</SettingsFile>
|
|
@ -1,52 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
|
||||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app" />
|
|
||||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
|
||||||
<security>
|
|
||||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
|
||||||
<!-- UAC Manifest Options
|
|
||||||
If you want to change the Windows User Account Control level replace the
|
|
||||||
requestedExecutionLevel node with one of the following.
|
|
||||||
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
|
||||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
|
||||||
|
|
||||||
Specifying requestedExecutionLevel node will disable file and registry virtualization.
|
|
||||||
If you want to utilize File and Registry Virtualization for backward
|
|
||||||
compatibility then delete the requestedExecutionLevel node.
|
|
||||||
-->
|
|
||||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
|
||||||
</requestedPrivileges>
|
|
||||||
<applicationRequestMinimum>
|
|
||||||
<defaultAssemblyRequest permissionSetReference="Custom" />
|
|
||||||
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
|
|
||||||
</applicationRequestMinimum>
|
|
||||||
</security>
|
|
||||||
</trustInfo>
|
|
||||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
|
||||||
<application>
|
|
||||||
<!-- A list of all Windows versions that this application is designed to work with.
|
|
||||||
Windows will automatically select the most compatible environment.-->
|
|
||||||
<!-- If your application is designed to work with Windows Vista, uncomment the following supportedOS node-->
|
|
||||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"></supportedOS>-->
|
|
||||||
<!-- If your application is designed to work with Windows 7, uncomment the following supportedOS node-->
|
|
||||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>-->
|
|
||||||
<!-- If your application is designed to work with Windows 8, uncomment the following supportedOS node-->
|
|
||||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"></supportedOS>-->
|
|
||||||
</application>
|
|
||||||
</compatibility>
|
|
||||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
|
||||||
<!-- <dependency>
|
|
||||||
<dependentAssembly>
|
|
||||||
<assemblyIdentity
|
|
||||||
type="win32"
|
|
||||||
name="Microsoft.Windows.Common-Controls"
|
|
||||||
version="6.0.0.0"
|
|
||||||
processorArchitecture="*"
|
|
||||||
publicKeyToken="6595b64144ccf1df"
|
|
||||||
language="*"
|
|
||||||
/>
|
|
||||||
</dependentAssembly>
|
|
||||||
</dependency>-->
|
|
||||||
</asmv1:assembly>
|
|
@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<appSettings>
|
|
||||||
<add key="product" value="mbt" />
|
|
||||||
<add key="class" value="Release" />
|
|
||||||
</appSettings>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
|
||||||
</startup>
|
|
||||||
</configuration>
|
|
@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<packages>
|
|
||||||
<package id="DotNetZip" version="1.9.1.8" targetFramework="net45" />
|
|
||||||
<package id="ServiceStack.Text" version="3.9.43" targetFramework="net45" />
|
|
||||||
</packages>
|
|
@ -1,6 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<configuration>
|
|
||||||
<startup>
|
|
||||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
|
|
||||||
</startup>
|
|
||||||
</configuration>
|
|
@ -1,8 +0,0 @@
|
|||||||
<Application x:Class="MediaBrowser.Uninstaller.Execute.App"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
StartupUri="MainWindow.xaml">
|
|
||||||
<Application.Resources>
|
|
||||||
|
|
||||||
</Application.Resources>
|
|
||||||
</Application>
|
|
@ -1,59 +0,0 @@
|
|||||||
<Window x:Class="MediaBrowser.Uninstaller.MainWindow"
|
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
||||||
Title="Uninstall Media Browser" Height="412.686" Width="633.955" WindowStyle="None">
|
|
||||||
<Grid>
|
|
||||||
<Image HorizontalAlignment="Center" Height="154" Margin="35,15,35,0" VerticalAlignment="Top" Width="541" Source="/MediaBrowser.Uninstaller;component/Code/Images/mb3logo800.png" Opacity="0.5"/>
|
|
||||||
<Label x:Name="lblHeading" Content="Uninstall " HorizontalAlignment="Left" Margin="51,169,0,0" VerticalAlignment="Top" RenderTransformOrigin="0.478,-2.753" Height="44" Width="533" FontSize="24"/>
|
|
||||||
<Button x:Name="btnUninstall" Content="Uninstall" HorizontalAlignment="Left" Margin="505,356,0,0" VerticalAlignment="Top" Width="91" IsDefault="True" RenderTransformOrigin="0.991,-1.041" Click="btnUninstall_Click"/>
|
|
||||||
<Button x:Name="btnCancel" Content="Cancel" HorizontalAlignment="Left" Margin="412,356,0,0" VerticalAlignment="Top" Width="75" IsCancel="True" Click="btnCancel_Click"/>
|
|
||||||
<Grid x:Name="grdOptions" HorizontalAlignment="Left" Height="108" Margin="86,231,0,0" VerticalAlignment="Top" Width="353">
|
|
||||||
<CheckBox x:Name="cbxRemoveAll" Content="Remove All Traces" HorizontalAlignment="Left" Margin="0,3,0,0" VerticalAlignment="Top" Checked="cbxRemoveAll_Checked" Unchecked="cbxRemoveAll_Checked" FontSize="18"/>
|
|
||||||
<CheckBox x:Name="cbxRemoveCache" Content="Delete Cache Files" HorizontalAlignment="Left" Margin="16,32,0,0" VerticalAlignment="Top" FontSize="18"/>
|
|
||||||
<CheckBox x:Name="cbxRemoveConfig" Content="Delete Configuration and Log Files" HorizontalAlignment="Left" Margin="16,56,0,0" VerticalAlignment="Top" FontSize="18"/>
|
|
||||||
<CheckBox x:Name="cbxRemovePlugins" Content="Delete Plug-ins" HorizontalAlignment="Left" Margin="16,82,0,0" VerticalAlignment="Top" FontSize="18"/>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
<Button x:Name="btnFinished" Content="Finish" HorizontalAlignment="Left" Margin="505,356,0,0" VerticalAlignment="Top" Width="91" IsDefault="True" RenderTransformOrigin="0.991,-1.041" Click="BtnFinished_OnClick" Visibility="Hidden"/>
|
|
||||||
|
|
||||||
</Grid>
|
|
||||||
<Window.Resources>
|
|
||||||
<!--Metro Button-->
|
|
||||||
<Style TargetType="{x:Type Button}" BasedOn="{x:Null}">
|
|
||||||
<Setter Property="Background" Value="Transparent"/>
|
|
||||||
<Setter Property="Foreground" Value="#222222"/>
|
|
||||||
<Setter Property="FontSize" Value="16"/>
|
|
||||||
<Setter Property="Padding" Value="10,5,10,5"/>
|
|
||||||
<Setter Property="BorderBrush" Value="#222222"/>
|
|
||||||
<Setter Property="BorderThickness" Value="2"/>
|
|
||||||
<Setter Property="Template">
|
|
||||||
<Setter.Value>
|
|
||||||
<ControlTemplate TargetType="{x:Type Button}">
|
|
||||||
<!-- We use Grid as a root because it is easy to add more elements to customize the button -->
|
|
||||||
<Grid x:Name="Grid">
|
|
||||||
<Border x:Name="Border" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Padding="{TemplateBinding Padding}"/>
|
|
||||||
|
|
||||||
<!-- Content Presenter is where the text content etc is placed by the control -->
|
|
||||||
<!-- The bindings are useful so that the control can be parameterized without editing the template -->
|
|
||||||
<ContentPresenter HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" RecognizesAccessKey="True"/>
|
|
||||||
</Grid>
|
|
||||||
|
|
||||||
<!--Each state sets a brush on the Border in the template -->
|
|
||||||
<ControlTemplate.Triggers>
|
|
||||||
<Trigger Property="IsPressed" Value="true">
|
|
||||||
<Setter Property="Background" Value="#222222" TargetName="Border"/>
|
|
||||||
<Setter Property="BorderBrush" Value="#222222" TargetName="Border"/>
|
|
||||||
<Setter Property="Foreground" Value="White"/>
|
|
||||||
<Setter Property="FontSize" Value="16"/>
|
|
||||||
</Trigger>
|
|
||||||
<Trigger Property="IsEnabled" Value="true"/>
|
|
||||||
<Trigger Property="IsEnabled" Value="false">
|
|
||||||
<Setter Property="BorderBrush" Value="#7f222222" TargetName="Border"/>
|
|
||||||
<Setter Property="Foreground" Value="#7f222222"/>
|
|
||||||
</Trigger>
|
|
||||||
</ControlTemplate.Triggers>
|
|
||||||
</ControlTemplate>
|
|
||||||
</Setter.Value>
|
|
||||||
</Setter>
|
|
||||||
</Style>
|
|
||||||
</Window.Resources></Window>
|
|
@ -1,117 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<root>
|
|
||||||
<!--
|
|
||||||
Microsoft ResX Schema
|
|
||||||
|
|
||||||
Version 2.0
|
|
||||||
|
|
||||||
The primary goals of this format is to allow a simple XML format
|
|
||||||
that is mostly human readable. The generation and parsing of the
|
|
||||||
various data types are done through the TypeConverter classes
|
|
||||||
associated with the data types.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
|
|
||||||
... ado.net/XML headers & schema ...
|
|
||||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
|
||||||
<resheader name="version">2.0</resheader>
|
|
||||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
|
||||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
|
||||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
|
||||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
|
||||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
|
||||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
|
||||||
</data>
|
|
||||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
|
||||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
|
||||||
<comment>This is a comment</comment>
|
|
||||||
</data>
|
|
||||||
|
|
||||||
There are any number of "resheader" rows that contain simple
|
|
||||||
name/value pairs.
|
|
||||||
|
|
||||||
Each data row contains a name, and value. The row also contains a
|
|
||||||
type or mimetype. Type corresponds to a .NET class that support
|
|
||||||
text/value conversion through the TypeConverter architecture.
|
|
||||||
Classes that don't support this are serialized and stored with the
|
|
||||||
mimetype set.
|
|
||||||
|
|
||||||
The mimetype is used for serialized objects, and tells the
|
|
||||||
ResXResourceReader how to depersist the object. This is currently not
|
|
||||||
extensible. For a given mimetype the value must be set accordingly:
|
|
||||||
|
|
||||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
|
||||||
that the ResXResourceWriter will generate, however the reader can
|
|
||||||
read any of the formats listed below.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.binary.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Serialization.Formatters.Binary.BinaryFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.soap.base64
|
|
||||||
value : The object must be serialized with
|
|
||||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
|
|
||||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
|
||||||
value : The object must be serialized into a byte array
|
|
||||||
: using a System.ComponentModel.TypeConverter
|
|
||||||
: and then encoded with base64 encoding.
|
|
||||||
-->
|
|
||||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
|
||||||
<xsd:element name="root" msdata:IsDataSet="true">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:choice maxOccurs="unbounded">
|
|
||||||
<xsd:element name="metadata">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="assembly">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:attribute name="alias" type="xsd:string" />
|
|
||||||
<xsd:attribute name="name" type="xsd:string" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="data">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
|
||||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
|
||||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
<xsd:element name="resheader">
|
|
||||||
<xsd:complexType>
|
|
||||||
<xsd:sequence>
|
|
||||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
|
||||||
</xsd:sequence>
|
|
||||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:choice>
|
|
||||||
</xsd:complexType>
|
|
||||||
</xsd:element>
|
|
||||||
</xsd:schema>
|
|
||||||
<resheader name="resmimetype">
|
|
||||||
<value>text/microsoft-resx</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="version">
|
|
||||||
<value>2.0</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="reader">
|
|
||||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
<resheader name="writer">
|
|
||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
|
||||||
</resheader>
|
|
||||||
</root>
|
|
@ -1,7 +0,0 @@
|
|||||||
<?xml version='1.0' encoding='utf-8'?>
|
|
||||||
<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
|
|
||||||
<Profiles>
|
|
||||||
<Profile Name="(Default)" />
|
|
||||||
</Profiles>
|
|
||||||
<Settings />
|
|
||||||
</SettingsFile>
|
|
Loading…
Reference in new issue