This commit is contained in:
Laurent Bugnion 2011-12-17 21:46:40 +01:00
Родитель c83e46e5d9 c42f36398b
Коммит 7899085aff
129 изменённых файлов: 4630 добавлений и 76 удалений

Просмотреть файл

@ -56,3 +56,6 @@ glob:ProjectForTemplates/_ReSharper.ProjectForTemplates/
glob:Snippets/_ReSharper.Snippets/
glob:CleanOldFiles/_ReSharper.CleanOldFiles
glob:*.sln.docstates
glob:*.ldf
glob:*.mdf
glob:Installer/Win8Installer/_ReSharper.Installer/

Просмотреть файл

@ -0,0 +1,237 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Practices.ServiceLocation</name>
</assembly>
<members>
<member name="T:Microsoft.Practices.ServiceLocation.ActivationException">
<summary>
The standard exception thrown when a ServiceLocator has an error in resolving an object.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message.
</summary>
<param name="message">
The message that describes the error.
</param>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ActivationException.#ctor(System.String,System.Exception)">
<summary>
Initializes a new instance of the <see cref="T:System.Exception" /> class with a specified error message and a reference to the inner exception that is the cause of this exception.
</summary>
<param name="message">
The error message that explains the reason for the exception.
</param>
<param name="innerException">
The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified.
</param>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.IServiceLocator">
<summary>
The generic Service Locator interface. This interface is used
to retrieve services (instances identified by type and optional
name) from a container.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.IServiceLocator.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocator">
<summary>
This class provides the ambient container for this application. If your
framework defines such an ambient container, use ServiceLocator.Current
to get it.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocator.SetLocatorProvider(Microsoft.Practices.ServiceLocation.ServiceLocatorProvider)">
<summary>
Set the delegate that is used to retrieve the current container.
</summary>
<param name="newProvider">Delegate that, when called, will return
the current ambient container.</param>
</member>
<member name="P:Microsoft.Practices.ServiceLocation.ServiceLocator.Current">
<summary>
The current ambient container.
</summary>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase">
<summary>
This class is a helper that provides a default implementation
for most of the methods of <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.
</summary>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetService(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">The requested service.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error in resolving the service instance.</exception>
<returns>The requested object.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type)">
<summary>
Get an instance of the given <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance(System.Type,System.String)">
<summary>
Get an instance of the given named <paramref name="serviceType"/>.
</summary>
<param name="serviceType">Type of object requested.</param>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is an error resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances(System.Type)">
<summary>
Get all instances of the given <paramref name="serviceType"/> currently
registered in the container.
</summary>
<param name="serviceType">Type of object requested.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <paramref name="serviceType"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1">
<summary>
Get an instance of the given <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetInstance``1(System.String)">
<summary>
Get an instance of the given named <typeparamref name="TService"/>.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<param name="key">Name the object was registered with.</param>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.GetAllInstances``1">
<summary>
Get all instances of the given <typeparamref name="TService"/> currently
registered in the container.
</summary>
<typeparam name="TService">Type of object requested.</typeparam>
<exception cref="T:Microsoft.Practices.ServiceLocation.ActivationException">if there is are errors resolving
the service instance.</exception>
<returns>A sequence of instances of the requested <typeparamref name="TService"/>.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetInstance(System.Type,System.String)">
<summary>
When implemented by inheriting classes, this method will do the actual work of resolving
the requested service instance.
</summary>
<param name="serviceType">Type of instance requested.</param>
<param name="key">Name of registered service you want. May be null.</param>
<returns>The requested service instance.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.DoGetAllInstances(System.Type)">
<summary>
When implemented by inheriting classes, this method will do the actual work of
resolving all the requested service instances.
</summary>
<param name="serviceType">Type of service requested.</param>
<returns>Sequence of service instance objects.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivationExceptionMessage(System.Exception,System.Type,System.String)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving a single service.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<param name="key">Name requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="M:Microsoft.Practices.ServiceLocation.ServiceLocatorImplBase.FormatActivateAllExceptionMessage(System.Exception,System.Type)">
<summary>
Format the exception message for use in an <see cref="T:Microsoft.Practices.ServiceLocation.ActivationException"/>
that occurs while resolving multiple service instances.
</summary>
<param name="actualException">The actual exception thrown by the implementation.</param>
<param name="serviceType">Type of service requested.</param>
<returns>The formatted exception message string.</returns>
</member>
<member name="T:Microsoft.Practices.ServiceLocation.ServiceLocatorProvider">
<summary>
This delegate type is used to provide a method that will
return the current container. Used with the <see cref="T:Microsoft.Practices.ServiceLocation.ServiceLocator"/>
static accessor class.
</summary>
<returns>An <see cref="T:Microsoft.Practices.ServiceLocation.IServiceLocator"/>.</returns>
</member>
</members>
</doc>

Двоичные данные
GalaSoft.MvvmLight/External/WIN8/Microsoft.Practices.ServiceLocation.dll поставляемый Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -19,7 +19,13 @@
using System;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
#if WIN8
using Windows.UI.Xaml.Input;
using EventHandler = Windows.UI.Xaml.EventHandler;
#else
using System.Windows.Input;
#endif
////using GalaSoft.Utilities.Attributes;

Просмотреть файл

@ -18,7 +18,13 @@
using System;
using System.Diagnostics.CodeAnalysis;
#if WIN8
using Windows.UI.Xaml.Input;
using EventHandler = Windows.UI.Xaml.EventHandler;
#else
using System.Windows.Input;
#endif
////using GalaSoft.Utilities.Attributes;

Просмотреть файл

@ -13,8 +13,11 @@
// </license>
// ****************************************************************************
// TODO Win8
#if !WIN8
using System;
using System.Windows;
////using GalaSoft.Utilities.Attributes;
@ -151,4 +154,6 @@ namespace GalaSoft.MvvmLight.Messaging
}
}
}
}
}
#endif

Просмотреть файл

@ -18,6 +18,7 @@ using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Reflection;
using GalaSoft.MvvmLight.Helpers;
////using GalaSoft.Utilities.Attributes;
@ -427,7 +428,12 @@ namespace GalaSoft.MvvmLight.Messaging
return false;
}
#if WIN8
IEnumerable<Type> interfaces = instanceType.GetTypeInfo().ImplementedInterfaces;
#else
Type[] interfaces = instanceType.GetInterfaces();
#endif
foreach (Type currentInterface in interfaces)
{
if (currentInterface == interfaceType)
@ -553,6 +559,17 @@ namespace GalaSoft.MvvmLight.Messaging
{
List<WeakActionAndToken> list = null;
#if WIN8
if (messageType == type
|| type.GetTypeInfo().IsAssignableFrom(messageType.GetTypeInfo())
|| Implements(messageType, type))
{
lock (_recipientsOfSubclassesAction)
{
list = _recipientsOfSubclassesAction[type].Take(_recipientsOfSubclassesAction[type].Count()).ToList();
}
}
#else
if (messageType == type
|| messageType.IsSubclassOf(type)
|| Implements(messageType, type))
@ -562,6 +579,7 @@ namespace GalaSoft.MvvmLight.Messaging
list = _recipientsOfSubclassesAction[type].Take(_recipientsOfSubclassesAction[type].Count()).ToList();
}
}
#endif
SendToList(message, list, messageTargetType, token);
}

Просмотреть файл

@ -15,12 +15,17 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Linq.Expressions;
using System.Reflection;
#if WIN8
using Windows.UI.Xaml.Data;
#else
using System.ComponentModel;
#endif
namespace GalaSoft.MvvmLight
{
/// <summary>
@ -58,11 +63,20 @@ namespace GalaSoft.MvvmLight
public void VerifyPropertyName(string propertyName)
{
var myType = this.GetType();
#if WIN8
if (!string.IsNullOrEmpty(propertyName)
&& myType.GetTypeInfo().GetDeclaredProperty(propertyName) == null)
{
throw new ArgumentException("Property not found", propertyName);
}
#else
if (!string.IsNullOrEmpty(propertyName)
&& myType.GetProperty(propertyName) == null)
{
throw new ArgumentException("Property not found", propertyName);
}
#endif
}
/// <summary>
@ -77,14 +91,26 @@ namespace GalaSoft.MvvmLight
Justification = "This cannot be an event")]
protected virtual void RaisePropertyChanged(string propertyName)
{
VerifyPropertyName(propertyName);
var handler = PropertyChanged;
if (handler != null)
#if WIN8
if (string.IsNullOrEmpty(propertyName))
{
handler(this, new PropertyChangedEventArgs(propertyName));
throw new NotSupportedException(
"Raising the PropertyChanged event with an empty string or null is not supported in the Windows 8 developer preview");
}
else
{
#endif
VerifyPropertyName(propertyName);
var handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(propertyName));
}
#if WIN8
}
#endif
}
/// <summary>

Просмотреть файл

@ -15,9 +15,9 @@
// ****************************************************************************
using System;
using System.Windows.Threading;
#if SILVERLIGHT
#if !WIN8
using System.Windows.Threading;
using System.Windows;
#endif

Просмотреть файл

@ -20,10 +20,15 @@ using System.ComponentModel;
using System.Diagnostics;
using System.Diagnostics.CodeAnalysis;
using System.Reflection;
using System.Windows;
using GalaSoft.MvvmLight.Messaging;
using System.Linq.Expressions;
#if WIN8
using PropertyChangedEventArgs = Windows.UI.Xaml.Data.PropertyChangedEventArgs;
#else
using System.Windows;
#endif
////using GalaSoft.Utilities.Attributes;
namespace GalaSoft.MvvmLight
@ -98,6 +103,9 @@ namespace GalaSoft.MvvmLight
{
#if SILVERLIGHT
_isInDesignMode = DesignerProperties.IsInDesignTool;
#else
#if WIN8
_isInDesignMode = Windows.ApplicationModel.DesignMode.DesignModeEnabled;
#else
var prop = DesignerProperties.IsInDesignModeProperty;
_isInDesignMode
@ -111,6 +119,7 @@ namespace GalaSoft.MvvmLight
{
_isInDesignMode = true;
}
#endif
#endif
}
@ -303,4 +312,4 @@ namespace GalaSoft.MvvmLight
RaisePropertyChanged(propertyName, oldValue, field, broadcast);
}
}
}
}

Просмотреть файл

@ -170,7 +170,11 @@ namespace GalaSoft.MvvmLight.Ioc
{
var classType = typeof (TClass);
#if WIN8
if (classType.GetTypeInfo().IsInterface)
#else
if (classType.IsInterface)
#endif
{
throw new ArgumentException("An interface cannot be registered alone");
}
@ -448,7 +452,12 @@ namespace GalaSoft.MvvmLight.Ioc
private ConstructorInfo GetConstructorInfo(Type serviceType)
{
var resolveTo = _interfaceToClassMap[serviceType] ?? serviceType;
#if WIN8
var constructorInfos = resolveTo.GetTypeInfo().DeclaredConstructors.ToArray();
#else
var constructorInfos = resolveTo.GetConstructors();
#endif
if (constructorInfos.Length > 1)
{
@ -456,8 +465,13 @@ namespace GalaSoft.MvvmLight.Ioc
for (var index = 0; index < constructorInfos.Length; index++)
{
#if WIN8
var attribute = constructorInfos[index].GetCustomAttribute(
typeof (PreferredConstructorAttribute));
#else
var attribute = Attribute.GetCustomAttribute(
constructorInfos[index], typeof (PreferredConstructorAttribute));
#endif
if (attribute != null)
{

Просмотреть файл

@ -2,6 +2,10 @@
using GalaSoft.MvvmLight.Command;
using Microsoft.VisualStudio.TestTools.UnitTesting;
#if WIN8
using EventHandler = Windows.UI.Xaml.EventHandler;
#endif
namespace GalaSoft.MvvmLight.Test.Command
{
[TestClass]

Просмотреть файл

@ -2,6 +2,10 @@
using GalaSoft.MvvmLight.Command;
using Microsoft.VisualStudio.TestTools.UnitTesting;
#if WIN8
using EventHandler = Windows.UI.Xaml.EventHandler;
#endif
namespace GalaSoft.MvvmLight.Test.Command
{
[TestClass]

Просмотреть файл

@ -1,6 +1,6 @@
using System;
namespace GalaSoft.MvvmLight.Test.Stubs
namespace GalaSoft.MvvmLight.Test.ViewModel
{
public class TestClassWithObservableObject : ObservableObject
{

Просмотреть файл

@ -1,11 +1,16 @@
using System;
using System.ComponentModel;
using System.Windows.Controls;
using System.Windows.Data;
using GalaSoft.MvvmLight.Messaging;
using GalaSoft.MvvmLight.Test.ViewModel;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using GalaSoft.MvvmLight.Helpers;
#if WIN8
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml;
#else
using System.Windows.Controls;
using System.Windows.Data;
#endif
namespace GalaSoft.MvvmLight.Test
{
@ -242,6 +247,9 @@ namespace GalaSoft.MvvmLight.Test
}
[TestMethod]
#if WIN8
[ExpectedException(typeof(NotSupportedException))]
#endif
public void TestRaiseWithEmptyString()
{
var vm = new TestViewModel();
@ -252,13 +260,15 @@ namespace GalaSoft.MvvmLight.Test
var textBox1 = new TextBox();
var textBox2 = new TextBox();
var binding1 = new Binding("TestProperty1")
var binding1 = new Binding()
{
Path = new PropertyPath("TestProperty1"),
Source = vm,
};
var binding2 = new Binding("TestProperty2")
var binding2 = new Binding()
{
Path = new PropertyPath("TestProperty2"),
Source = vm,
};

Просмотреть файл

@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{AD53D597-6C9F-434D-A21A-BB10626A2784}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight.Extras</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.Extras.Win8</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Debug\GalaSoft.MvvmLight.Extras.Win8.xml</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\GalaSoft.MvvmLight.Extras.Win8.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Compile Include="..\..\GalaSoft.MvvmLight.Extras %28NET35%29\Ioc\ISimpleIoc.cs">
<Link>Ioc\ISimpleIoc.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Extras %28NET35%29\Ioc\PreferredConstructor.cs">
<Link>Ioc\PreferredConstructor.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Extras %28NET35%29\Ioc\SimpleIoc.cs">
<Link>Ioc\SimpleIoc.cs</Link>
</Compile>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Practices.ServiceLocation">
<HintPath>..\..\External\WIN8\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v1.0\Microsoft.Windows.UI.Xaml.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,199 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight.Test</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.Test.Win8</AssemblyName>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>
</DocumentationFile>
</PropertyGroup>
<PropertyGroup>
<AppXPackage>True</AppXPackage>
</PropertyGroup>
<ItemGroup>
<!--A reference to the entire .Net Framework and Windows SDK are automatically included-->
<SDKReference Include="MSTestFramework, Version=11.0" />
<SDKReference Include="TestPlatform, Version=11.0" />
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Command\RelayCommandGenericTest.cs">
<Link>Command\RelayCommandGenericTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Command\RelayCommandTest.cs">
<Link>Command\RelayCommandTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestContains.cs">
<Link>Ioc\SimpleIocTestContains.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestCreationTime.cs">
<Link>Ioc\SimpleIocTestCreationTime.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestIsRegistered.cs">
<Link>Ioc\SimpleIocTestIsRegistered.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestMultipleConstructors.cs">
<Link>Ioc\SimpleIocTestMultipleConstructors.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestMultipleInstances.cs">
<Link>Ioc\SimpleIocTestMultipleInstances.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestSingleInstance.cs">
<Link>Ioc\SimpleIocTestSingleInstance.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Ioc\SimpleIocTestUnregistration.cs">
<Link>Ioc\SimpleIocTestUnregistration.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerBroadcastToAllTest.cs">
<Link>Messaging\MessengerBroadcastToAllTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerCreationDeletionTest.cs">
<Link>Messaging\MessengerCreationDeletionTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerMultipleInstancesTest.cs">
<Link>Messaging\MessengerMultipleInstancesTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerOverrideDefaultTest.cs">
<Link>Messaging\MessengerOverrideDefaultTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerRegisterUnregisterTest.cs">
<Link>Messaging\MessengerRegisterUnregisterTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerRegisterWhileSendingTest.cs">
<Link>Messaging\MessengerRegisterWhileSendingTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerSendToAllTest.cs">
<Link>Messaging\MessengerSendToAllTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerSendToTypeTest.cs">
<Link>Messaging\MessengerSendToTypeTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\MessengerSendWithTokenTest.cs">
<Link>Messaging\MessengerSendWithTokenTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\NotificationMessageActionTest.cs">
<Link>Messaging\NotificationMessageActionTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\NotificationMessageTest.cs">
<Link>Messaging\NotificationMessageTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Messaging\PropertyChangedMessageTest.cs">
<Link>Messaging\PropertyChangedMessageTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ObservableObjectTest.cs">
<Link>ObservableObjectTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\ITestClass.cs">
<Link>Stubs\ITestClass.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass.cs">
<Link>Stubs\TestClass.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass2.cs">
<Link>Stubs\TestClass2.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass3.cs">
<Link>Stubs\TestClass3.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass4.cs">
<Link>Stubs\TestClass4.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass5.cs">
<Link>Stubs\TestClass5.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClass6.cs">
<Link>Stubs\TestClass6.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClassForCreationTime.cs">
<Link>Stubs\TestClassForCreationTime.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\Stubs\TestClassWithMultiConstructors.cs">
<Link>Stubs\TestClassWithMultiConstructors.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ViewModelBaseTest.cs">
<Link>ViewModelBaseTest.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ViewModel\TestClassWithObservableObject.cs">
<Link>ViewModel\TestClassWithObservableObject.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ViewModel\TestViewModel.cs">
<Link>ViewModel\TestViewModel.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ViewModel\TestViewModelNoMagicString.cs">
<Link>ViewModel\TestViewModelNoMagicString.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight.Test %28NET35%29\ViewModel\ViewModelStub.cs">
<Link>ViewModel\ViewModelStub.cs</Link>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<AppxManifest Include="Package.appxmanifest" />
</ItemGroup>
<ItemGroup>
<Content Include="Images\UnitTestLogo.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
<Content Include="Images\UnitTestSmallLogo.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
<Content Include="Images\UnitTestSplashScreen.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
<Content Include="Images\UnitTestStoreLogo.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Visible>false</Visible>
</Content>
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\GalaSoft.MvvmLight.Extras.Win8\GalaSoft.MvvmLight.Extras.Win8.csproj">
<Project>{ad53d597-6c9f-434d-a21a-bb10626a2784}</Project>
<Name>GalaSoft.MvvmLight.Extras.Win8</Name>
</ProjectReference>
<ProjectReference Include="..\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8.csproj">
<Project>{81362ad5-e139-4889-b140-73c3924b2d63}</Project>
<Name>GalaSoft.MvvmLight.Win8</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<ItemGroup>
<Reference Include="Microsoft.Practices.ServiceLocation">
<HintPath>..\..\External\WIN8\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v1.0\Microsoft.Windows.UI.Xaml.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 4.6 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.8 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.6 KiB

Просмотреть файл

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/2010/manifest">
<Identity Name="unittestproject1"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="1.0.0.0" />
<Properties>
<DisplayName>UnitTestProject1</DisplayName>
<PublisherDisplayName>laurent</PublisherDisplayName>
<Logo>Images\UnitTestStoreLogo.png</Logo>
<Description>UnitTestProject1</Description>
</Properties>
<Prerequisites>
<OSMinVersion>6.2</OSMinVersion>
<OSMaxVersionTested>6.2</OSMaxVersionTested>
</Prerequisites>
<Resources>
<Resource Language="en-us"/>
</Resources>
<Applications>
<Application Id="MSTestExecutor.App"
Executable="MSTestExecutor.Appx.exe"
EntryPoint="MSTestExecutor.App">
<VisualElements
DisplayName="NoTiles"
Logo="Images\UnitTestLogo.png"
SmallLogo="Images\UnitTestSmallLogo.png"
Description="MSTestExecutor.App"
ForegroundText="light"
BackgroundColor="#0084FF">
<SplashScreen Image="Images\UnitTestSplashScreen.png" />
</VisualElements>
</Application>
</Applications>
</Package>

Просмотреть файл

@ -0,0 +1,28 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("UnitTestProject1")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("UnitTestProject1")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Просмотреть файл

@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Win8", "GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8.csproj", "{81362AD5-E139-4889-B140-73C3924B2D63}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Test.Win8", "GalaSoft.MvvmLight.Test.Win8\GalaSoft.MvvmLight.Test.Win8.csproj", "{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GalaSoft.MvvmLight.Extras.Win8", "GalaSoft.MvvmLight.Extras.Win8\GalaSoft.MvvmLight.Extras.Win8.csproj", "{AD53D597-6C9F-434D-A21A-BB10626A2784}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{81362AD5-E139-4889-B140-73C3924B2D63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81362AD5-E139-4889-B140-73C3924B2D63}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81362AD5-E139-4889-B140-73C3924B2D63}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81362AD5-E139-4889-B140-73C3924B2D63}.Release|Any CPU.Build.0 = Release|Any CPU
{AD53D597-6C9F-434D-A21A-BB10626A2784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{AD53D597-6C9F-434D-A21A-BB10626A2784}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AD53D597-6C9F-434D-A21A-BB10626A2784}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AD53D597-6C9F-434D-A21A-BB10626A2784}.Release|Any CPU.Build.0 = Release|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Release|Any CPU.Build.0 = Release|Any CPU
{B9A94A60-5A7C-4742-8C3D-7DF0D7E334F4}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,112 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{81362AD5-E139-4889-B140-73C3924B2D63}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>GalaSoft.MvvmLight</RootNamespace>
<AssemblyName>GalaSoft.MvvmLight.Win8</AssemblyName>
<DefaultLanguage>en-US</DefaultLanguage>
<FileAlignment>512</FileAlignment>
<ProjectTypeGuids>{BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Debug\GalaSoft.MvvmLight.Win8.XML</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE;WIN8</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>bin\Release\GalaSoft.MvvmLight.Win8.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<!-- A reference to the entire .Net Framework and Windows SDK are automatically included -->
</ItemGroup>
<ItemGroup>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Command\RelayCommand.cs">
<Link>Command\RelayCommand.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Command\RelayCommandGeneric.cs">
<Link>Command\RelayCommandGeneric.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Helpers\IExecuteWithObject.cs">
<Link>Helpers\IExecuteWithObject.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Helpers\WeakAction.cs">
<Link>Helpers\WeakAction.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Helpers\WeakActionGeneric.cs">
<Link>Helpers\WeakActionGeneric.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\ICleanup.cs">
<Link>ICleanup.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\DialogMessage.cs">
<Link>Messaging\DialogMessage.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\GenericMessage.cs">
<Link>Messaging\GenericMessage.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\IMessenger.cs">
<Link>Messaging\IMessenger.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\MessageBase.cs">
<Link>Messaging\MessageBase.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\Messenger.cs">
<Link>Messaging\Messenger.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessage.cs">
<Link>Messaging\NotificationMessage.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageAction.cs">
<Link>Messaging\NotificationMessageAction.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageActionGeneric.cs">
<Link>Messaging\NotificationMessageActionGeneric.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageGeneric.cs">
<Link>Messaging\NotificationMessageGeneric.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\NotificationMessageWithCallback.cs">
<Link>Messaging\NotificationMessageWithCallback.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\PropertyChangedMessage.cs">
<Link>Messaging\PropertyChangedMessage.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Messaging\PropertyChangedMessageBase.cs">
<Link>Messaging\PropertyChangedMessageBase.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\ObservableObject.cs">
<Link>ObservableObject.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\Properties\AssemblyInfo.cs">
<Link>Properties\AssemblyInfo.cs</Link>
</Compile>
<Compile Include="..\..\GalaSoft.MvvmLight %28NET35%29\ViewModelBase.cs">
<Link>ViewModelBase.cs</Link>
</Compile>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v1.0\Microsoft.Windows.UI.Xaml.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -10,6 +10,7 @@ md _Binaries\Debug\WP7
md _Binaries\Debug\WP71
md _Binaries\Debug\WPF4
md _Binaries\Debug\WPF35SP1
md _Binaries\Debug\Win8
md _Binaries\Release
md _Binaries\Release\Silverlight3
md _Binaries\Release\Silverlight4
@ -18,6 +19,7 @@ md _Binaries\Release\WP7
md _Binaries\Release\WP71
md _Binaries\Release\WPF4
md _Binaries\Release\WPF35SP1
md _Binaries\Release\Win8
if exist ".\GalaSoft.MvvmLight (NET4)\bin\Debug\GalaSoft.MvvmLight.WPF4.dll" copy ".\GalaSoft.MvvmLight (NET4)\bin\Debug\GalaSoft.MvvmLight.WPF4.dll" .\_Binaries\Debug\WPF4\GalaSoft.MvvmLight.WPF4.dll
if exist ".\GalaSoft.MvvmLight (NET4)\bin\Debug\GalaSoft.MvvmLight.WPF4.pdb" copy ".\GalaSoft.MvvmLight (NET4)\bin\Debug\GalaSoft.MvvmLight.WPF4.pdb" .\_Binaries\Debug\WPF4\GalaSoft.MvvmLight.WPF4.pdb
@ -68,6 +70,13 @@ if exist ".\GalaSoft.MvvmLight (WP71)\bin\Release\GalaSoft.MvvmLight.WP71.dll" c
if exist ".\GalaSoft.MvvmLight (WP71)\bin\Release\GalaSoft.MvvmLight.WP71.pdb" copy ".\GalaSoft.MvvmLight (WP71)\bin\Release\GalaSoft.MvvmLight.WP71.pdb" .\_Binaries\Release\WP71\GalaSoft.MvvmLight.WP71.pdb
if exist ".\GalaSoft.MvvmLight (WP71)\bin\Release\GalaSoft.MvvmLight.WP71.xml" copy ".\GalaSoft.MvvmLight (WP71)\bin\Release\GalaSoft.MvvmLight.WP71.xml" .\_Binaries\Release\WP71\GalaSoft.MvvmLight.WP71.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.dll" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Win8.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.pdb" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.pdb" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Win8.pdb
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Debug\GalaSoft.MvvmLight.Win8.xml" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Win8.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.dll" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Win8.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.pdb" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.pdb" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Win8.pdb
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Win8\bin\Release\GalaSoft.MvvmLight.Win8.xml" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Win8.xml
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.dll" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.dll" .\_Binaries\Debug\WPF4\GalaSoft.MvvmLight.Extras.WPF4.dll
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.pdb" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.pdb" .\_Binaries\Debug\WPF4\GalaSoft.MvvmLight.Extras.WPF4.pdb
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.xml" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\GalaSoft.MvvmLight.Extras.WPF4.xml" .\_Binaries\Debug\WPF4\GalaSoft.MvvmLight.Extras.WPF4.xml
@ -117,6 +126,13 @@ if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\GalaSoft.MvvmLight.Extr
if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\GalaSoft.MvvmLight.Extras.WP71.pdb" copy ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\GalaSoft.MvvmLight.Extras.WP71.pdb" .\_Binaries\Release\WP71\GalaSoft.MvvmLight.Extras.WP71.pdb
if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\GalaSoft.MvvmLight.Extras.WP71.xml" copy ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\GalaSoft.MvvmLight.Extras.WP71.xml" .\_Binaries\Release\WP71\GalaSoft.MvvmLight.Extras.WP71.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.dll" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Extras.Win8.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.pdb" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.pdb" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Extras.Win8.pdb
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\GalaSoft.MvvmLight.Extras.Win8.xml" .\_Binaries\Debug\Win8\GalaSoft.MvvmLight.Extras.Win8.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.dll" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Extras.Win8.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.pdb" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.pdb" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Extras.Win8.pdb
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\GalaSoft.MvvmLight.Extras.Win8.xml" .\_Binaries\Release\Win8\GalaSoft.MvvmLight.Extras.Win8.xml
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\Microsoft.Practices.ServiceLocation.dll" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\Microsoft.Practices.ServiceLocation.dll" .\_Binaries\Debug\WPF4\Microsoft.Practices.ServiceLocation.dll
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\Microsoft.Practices.ServiceLocation.xml" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\Microsoft.Practices.ServiceLocation.xml" .\_Binaries\Debug\WPF4\Microsoft.Practices.ServiceLocation.xml
if exist ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\System.Windows.Interactivity.dll" copy ".\GalaSoft.MvvmLight.Extras (NET4)\bin\Debug\System.Windows.Interactivity.dll" .\_Binaries\Debug\WPF4\System.Windows.Interactivity.dll
@ -179,3 +195,12 @@ if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\Microsoft.Practices.Ser
if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\Microsoft.Practices.ServiceLocation.xml" copy ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\Microsoft.Practices.ServiceLocation.xml" .\_Binaries\Release\WP71\Microsoft.Practices.ServiceLocation.xml
if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\System.Windows.Interactivity.dll" copy ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\System.Windows.Interactivity.dll" .\_Binaries\Release\WP71\System.Windows.Interactivity.dll
if exist ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\System.Windows.Interactivity.xml" copy ".\GalaSoft.MvvmLight.Extras (WP71)\bin\Release\System.Windows.Interactivity.xml" .\_Binaries\Release\WP71\System.Windows.Interactivity.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\Microsoft.Practices.ServiceLocation.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\Microsoft.Practices.ServiceLocation.dll" .\_Binaries\Debug\Win8\Microsoft.Practices.ServiceLocation.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\Microsoft.Practices.ServiceLocation.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\Microsoft.Practices.ServiceLocation.xml" .\_Binaries\Debug\Win8\Microsoft.Practices.ServiceLocation.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\System.Windows.Interactivity.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\System.Windows.Interactivity.dll" .\_Binaries\Debug\Win8\System.Windows.Interactivity.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\System.Windows.Interactivity.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Debug\System.Windows.Interactivity.xml" .\_Binaries\Debug\Win8\System.Windows.Interactivity.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\Microsoft.Practices.ServiceLocation.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\Microsoft.Practices.ServiceLocation.dll" .\_Binaries\Release\Win8\Microsoft.Practices.ServiceLocation.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\Microsoft.Practices.ServiceLocation.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\Microsoft.Practices.ServiceLocation.xml" .\_Binaries\Release\Win8\Microsoft.Practices.ServiceLocation.xml
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\System.Windows.Interactivity.dll" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\System.Windows.Interactivity.dll" .\_Binaries\Release\Win8\System.Windows.Interactivity.dll
if exist ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\System.Windows.Interactivity.xml" copy ".\GalaSoft.MvvmLight.Win8\GalaSoft.MvvmLight.Extras.Win8\bin\Release\System.Windows.Interactivity.xml" .\_Binaries\Release\Win8\System.Windows.Interactivity.xml

Двоичный файл не отображается.

Просмотреть файл

Просмотреть файл

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 31 KiB

После

Ширина:  |  Высота:  |  Размер: 31 KiB

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 84 KiB

После

Ширина:  |  Высота:  |  Размер: 84 KiB

Просмотреть файл

До

Ширина:  |  Высота:  |  Размер: 451 KiB

После

Ширина:  |  Высота:  |  Размер: 451 KiB

Просмотреть файл

@ -35,7 +35,7 @@
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>

Просмотреть файл

@ -9,6 +9,8 @@ namespace ModifyRegistryKey
{
class Program
{
private const string InstallActionVs11User = "-i11u";
private const string InstallActionVs11Machine = "-i11m";
private const string InstallActionVs10User = "-i10u";
private const string InstallActionVs10Machine = "-i10m";
private const string InstallActionVs08User = "-i08u";
@ -17,7 +19,7 @@ namespace ModifyRegistryKey
private const string UninstallActionUser = "-uu";
private const string UninstallActionMachine = "-um";
private const string PersonalFolderSnippetsPath = "Visual Studio 2010\\Code Snippets\\Visual C#";
private const string PersonalFolderVs10SnippetsPath = "Visual Studio 2010\\Code Snippets\\Visual C#";
private static readonly PathInfo SnippetsRegistryPathInfoVs08Machine = new PathInfo
{
@ -33,6 +35,13 @@ namespace ModifyRegistryKey
KeyName = "Microsoft Visual CSharp"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs11Machine = new PathInfo
{
RootKey = Registry.LocalMachine,
KeyPath = @"Software\Microsoft\VisualStudio\11.0\Languages\CodeExpansions\CSharp\Paths",
KeyName = "Microsoft Visual CSharp"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs08User = new PathInfo
{
RootKey = Registry.CurrentUser,
@ -47,14 +56,23 @@ namespace ModifyRegistryKey
KeyName = "path"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs11User = new PathInfo
{
RootKey = Registry.CurrentUser,
KeyPath = @"Software\Microsoft\VisualStudio\11.0\Languages\CodeExpansions\Visual C#",
KeyName = "path"
};
static void Main(string[] args)
{
// Console.WriteLine("008: " + args[0]);
// Console.ReadLine();
//Console.WriteLine("001: " + args[0]);
//Console.ReadLine();
if (args.Length < 2
|| string.IsNullOrEmpty(args[1])
|| (args[0] != InstallActionVs10User
|| (args[0] != InstallActionVs11User
&& args[0] != InstallActionVs11Machine
&& args[0] != InstallActionVs10User
&& args[0] != InstallActionVs10Machine
&& args[0] != InstallActionVs08User
&& args[0] != InstallActionVs08Machine
@ -62,13 +80,13 @@ namespace ModifyRegistryKey
&& args[0] != UninstallActionUser
&& args[0] != UninstallActionMachine))
{
Console.WriteLine("Syntax: ModifyRegistryKey [-i10u|-i10m|-i10x|-i08u|-i08m|-uu|-um] [pathOfSnippetsFolder];[pathOfVs10Express]");
Console.WriteLine("Syntax: ModifyRegistryKey [-i11u|-i11m|-i10u|-i10m|-i10x|-i08u|-i08m|-uu|-um] [pathOfSnippetsFolder];[pathOfVs10Express]");
Console.ReadLine();
return;
}
// Console.WriteLine("Arg 1: " + args[1]);
// Console.ReadLine();
//Console.WriteLine("Arg 1: " + args[1]);
//Console.ReadLine();
var parsedArgs = args[1].Split(
new[]
@ -98,27 +116,27 @@ namespace ModifyRegistryKey
private static void RunUninstallVs10X()
{
// Console.WriteLine("RunInstallVs10x");
// Console.ReadLine();
//Console.WriteLine("RunInstallVs10x");
//Console.ReadLine();
try
{
var personalFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, PersonalFolderSnippetsPath);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, PersonalFolderVs10SnippetsPath);
var allLanguages = Directory.GetDirectories(destinationSnippetsRootFolder);
foreach (var language in allLanguages)
{
// Console.WriteLine("In " + language);
// Console.ReadLine();
//Console.WriteLine("In " + language);
//Console.ReadLine();
var mvvmLightFolderPath = Path.Combine(language, MvvmLightFolderName);
if (Directory.Exists(mvvmLightFolderPath))
{
// Console.WriteLine("Deleting " + mvvmLightFolderPath);
// Console.ReadLine();
//Console.WriteLine("Deleting " + mvvmLightFolderPath);
//Console.ReadLine();
Directory.Delete(mvvmLightFolderPath, true);
}
}
@ -134,13 +152,13 @@ namespace ModifyRegistryKey
private static void RunInstallVs10X(string snippetsPath)
{
// Console.WriteLine("RunInstallVs10x");
// Console.ReadLine();
//Console.WriteLine("RunInstallVs10x");
//Console.ReadLine();
try
{
var personalFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, PersonalFolderSnippetsPath);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, PersonalFolderVs10SnippetsPath);
var allLanguages = Directory.GetDirectories(destinationSnippetsRootFolder);
@ -148,31 +166,31 @@ namespace ModifyRegistryKey
{
var languageFolder = new DirectoryInfo(Path.Combine(language, MvvmLightFolderName));
// Console.WriteLine("In " + languageFolder.FullName);
// Console.ReadLine();
//Console.WriteLine("In " + languageFolder.FullName);
//Console.ReadLine();
var sourceSnippetsFolders = Directory.GetDirectories(snippetsPath);
// Console.WriteLine("Found {0} folders in {1}", sourceSnippetsFolders.Length, snippetsPath);
// Console.ReadLine();
//Console.WriteLine("Found {0} folders in {1}", sourceSnippetsFolders.Length, snippetsPath);
//Console.ReadLine();
if (!languageFolder.Exists)
{
// Console.WriteLine("Creating {0}", languageFolder.FullName);
// Console.ReadLine();
//Console.WriteLine("Creating {0}", languageFolder.FullName);
//Console.ReadLine();
languageFolder.Create();
}
foreach (var sourceSnippetsFolder in sourceSnippetsFolders)
{
var snippets = Directory.GetFiles(sourceSnippetsFolder, "*.snippet");
// Console.WriteLine("{0} files found in {1}", snippets.Length, snippetsPath);
// Console.ReadLine();
//Console.WriteLine("{0} files found in {1}", snippets.Length, snippetsPath);
//Console.ReadLine();
foreach (var snippet in snippets)
{
// Console.WriteLine("Copying " + snippet + " to " + language);
// Console.ReadLine();
//Console.WriteLine("Copying " + snippet + " to " + language);
//Console.ReadLine();
var file = new FileInfo(snippet);
file.CopyTo(Path.Combine(languageFolder.FullName, file.Name), true);
@ -193,13 +211,19 @@ namespace ModifyRegistryKey
{
try
{
// Console.WriteLine("RunInstall");
// Console.ReadLine();
//Console.WriteLine("RunInstall");
//Console.ReadLine();
PathInfo pathInfo = null;
switch (command)
{
case InstallActionVs11User:
pathInfo = SnippetsRegistryPathInfoVs11User;
break;
case InstallActionVs11Machine:
pathInfo = SnippetsRegistryPathInfoVs11Machine;
break;
case InstallActionVs10User:
pathInfo = SnippetsRegistryPathInfoVs10User;
break;
@ -235,8 +259,8 @@ namespace ModifyRegistryKey
if (!snippetsPaths.Contains(snippetsPath))
{
// Console.WriteLine("New path: " + snippetsPaths + snippetsPath + ";");
// Console.ReadLine();
//Console.WriteLine("New path: " + snippetsPaths + snippetsPath + ";");
//Console.ReadLine();
subKey.SetValue(pathInfo.KeyName, snippetsPaths + snippetsPath + ";");
}
}
@ -251,18 +275,18 @@ namespace ModifyRegistryKey
private static string GetPath(PathInfo pathInfo, out RegistryKey subKey)
{
// Console.WriteLine(
//"Checking subKey {0} in {1}",
//pathInfo.KeyPath,
//pathInfo.RootKey.Name);
// Console.ReadLine();
//Console.WriteLine(
// "Checking subKey {0} in {1}",
// pathInfo.KeyPath,
// pathInfo.RootKey.Name);
//Console.ReadLine();
subKey = pathInfo.RootKey.OpenSubKey(pathInfo.KeyPath, true);
if (subKey == null)
{
// Console.WriteLine("subKey == null ({0})", pathInfo.KeyPath);
// Console.ReadLine();
//Console.WriteLine("subKey == null ({0})", pathInfo.KeyPath);
//Console.ReadLine();
return null;
}
@ -273,8 +297,8 @@ namespace ModifyRegistryKey
return null;
}
// Console.WriteLine("Old path: " + path);
// Console.ReadLine();
//Console.WriteLine("Old path: " + path);
//Console.ReadLine();
return path.ToString();
}
@ -282,8 +306,8 @@ namespace ModifyRegistryKey
{
try
{
// Console.WriteLine("RunUninstall");
// Console.ReadLine();
//Console.WriteLine("RunUninstall");
//Console.ReadLine();
var allPathsInfo = new List<PathInfo>();
@ -292,10 +316,12 @@ namespace ModifyRegistryKey
case UninstallActionUser:
allPathsInfo.Add(SnippetsRegistryPathInfoVs08User);
allPathsInfo.Add(SnippetsRegistryPathInfoVs10User);
allPathsInfo.Add(SnippetsRegistryPathInfoVs11User);
break;
case UninstallActionMachine:
allPathsInfo.Add(SnippetsRegistryPathInfoVs08Machine);
allPathsInfo.Add(SnippetsRegistryPathInfoVs10Machine);
allPathsInfo.Add(SnippetsRegistryPathInfoVs11Machine);
break;
}
@ -303,8 +329,8 @@ namespace ModifyRegistryKey
foreach (var info in allPathsInfo)
{
// Console.WriteLine("Checking {0}", info.KeyName);
// Console.ReadLine();
//Console.WriteLine("Checking {0}", info.KeyName);
//Console.ReadLine();
RegistryKey subKey;
var snippetsPaths = GetPath(info, out subKey);
@ -312,16 +338,16 @@ namespace ModifyRegistryKey
if (string.IsNullOrEmpty(snippetsPaths)
|| subKey == null)
{
// Console.WriteLine("Null");
// Console.ReadLine();
//Console.WriteLine("Null");
//Console.ReadLine();
continue;
}
if (snippetsPaths.Contains(snippetsPath))
{
snippetsPaths = snippetsPaths.Replace(snippetsPath, "");
// Console.WriteLine("New path: " + snippetsPaths);
// Console.ReadLine();
//Console.WriteLine("New path: " + snippetsPaths);
//Console.ReadLine();
subKey.SetValue(info.KeyName, snippetsPaths);
}
}

Просмотреть файл

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Installer", "Installer\Installer.wixproj", "{9A2E2077-E1E9-491E-9306-DD8A172B5E19}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9A2E2077-E1E9-491E-9306-DD8A172B5E19}.Debug|x86.ActiveCfg = Debug|x86
{9A2E2077-E1E9-491E-9306-DD8A172B5E19}.Debug|x86.Build.0 = Debug|x86
{9A2E2077-E1E9-491E-9306-DD8A172B5E19}.Release|x86.ActiveCfg = Release|x86
{9A2E2077-E1E9-491E-9306-DD8A172B5E19}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

Просмотреть файл

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.5</ProductVersion>
<ProjectGuid>{9a2e2077-e1e9-491e-9306-dd8a172b5e19}</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>GalaSoft.MvvmLight.V4beta1Win8</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants>
<LinkerAdditionalOptions>-ext WixUIExtension -ext WixVSExtension</LinkerAdditionalOptions>
<CompilerAdditionalOptions>-ext WixUIExtension -ext WixUtilExtension -ext WixVSExtension</CompilerAdditionalOptions>
<SuppressIces>ICE30;ICE38;ICE64;ICE91</SuppressIces>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Configuration)\</IntermediateOutputPath>
<CompilerAdditionalOptions>-ext WixUIExtension -ext WixUtilExtension</CompilerAdditionalOptions>
<LinkerAdditionalOptions>-ext WixUIExtension</LinkerAdditionalOptions>
</PropertyGroup>
<ItemGroup>
<Compile Include="Product.wxs" />
</ItemGroup>
<ItemGroup>
<Content Include="License.rtf" />
<Content Include="MVVM_Original_195x100.png" />
<Content Include="WixUIBannerBmp.bmp" />
<Content Include="WixUIDialogBmp.bmp" />
</ItemGroup>
<Import Project="$(WixTargetsPath)" />
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,170 @@
{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff0\deff0\stshfdbch31505\stshfloch31506\stshfhich31506\stshfbi0\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\f37\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}{\flomajor\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbmajor\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhimajor\f31502\fbidi \froman\fcharset0\fprq2{\*\panose 02040503050406030204}Cambria;}
{\fbimajor\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\flominor\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}
{\fdbminor\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\fhiminor\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri;}
{\fbiminor\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f40\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\f41\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\f43\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\f44\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\f45\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f46\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\f47\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\f48\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\f410\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\f411\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\f413\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\f414\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\f417\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}{\f418\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}
{\flomajor\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flomajor\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flomajor\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flomajor\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flomajor\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flomajor\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flomajor\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flomajor\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbmajor\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbmajor\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbmajor\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbmajor\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbmajor\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbmajor\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbmajor\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbmajor\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhimajor\f31528\fbidi \froman\fcharset238\fprq2 Cambria CE;}{\fhimajor\f31529\fbidi \froman\fcharset204\fprq2 Cambria Cyr;}
{\fhimajor\f31531\fbidi \froman\fcharset161\fprq2 Cambria Greek;}{\fhimajor\f31532\fbidi \froman\fcharset162\fprq2 Cambria Tur;}{\fhimajor\f31535\fbidi \froman\fcharset186\fprq2 Cambria Baltic;}
{\fhimajor\f31536\fbidi \froman\fcharset163\fprq2 Cambria (Vietnamese);}{\fbimajor\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbimajor\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbimajor\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbimajor\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbimajor\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbimajor\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbimajor\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbimajor\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}
{\flominor\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\flominor\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\flominor\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}
{\flominor\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\flominor\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\flominor\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}
{\flominor\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\flominor\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fdbminor\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}
{\fdbminor\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}{\fdbminor\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fdbminor\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}
{\fdbminor\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\fdbminor\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fdbminor\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}
{\fdbminor\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}{\fhiminor\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE;}{\fhiminor\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr;}
{\fhiminor\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek;}{\fhiminor\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur;}{\fhiminor\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic;}
{\fhiminor\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese);}{\fbiminor\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE;}{\fbiminor\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr;}
{\fbiminor\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek;}{\fbiminor\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur;}{\fbiminor\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew);}
{\fbiminor\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic);}{\fbiminor\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic;}{\fbiminor\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese);}}
{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;
\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\*\defchp \fs22\loch\af31506\hich\af31506\dbch\af31505 }{\*\defpap \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\s1\ql \li0\ri0\sb240\sa60\sl276\slmult1
\keepn\widctlpar\wrapdefault\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \ab\af0\afs32\alang1025 \ltrch\fcs0 \b\fs32\lang1033\langfe1033\kerning32\loch\f31502\hich\af31502\dbch\af31501\cgrid\langnp1033\langfenp1033
\sbasedon0 \snext0 \slink15 \sqformat \spriority9 \styrsid2451337 heading 1;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*
\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\sa200\sl276\slmult1
\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0 \fs22\lang1033\langfe1033\loch\f31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused
Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \ab\af0\afs32 \ltrch\fcs0 \b\fs32\kerning32\loch\f31502\hich\af31502\dbch\af31501 \sbasedon10 \slink1 \slocked \spriority9 \styrsid2451337 Heading 1 Char;}}{\*\rsidtbl \rsid2451337\rsid7538768\rsid7811264
\rsid11165562}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\info{\operator Morten Nielsen}{\creatim\yr2009\mo9\dy9\hr12\min57}{\revtim\yr2011\mo4\dy16\hr21\min52}
{\version4}{\edmins0}{\nofpages1}{\nofwords159}{\nofchars907}{\nofcharsws1064}{\vern49255}}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect
\widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont0\relyonvml0\donotembedlingdata1\grfdocevents0\validatexml0\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors0\horzdoc\dghspace120\dgvspace120\dghorigin1701
\dgvorigin1984\dghshow0\dgvshow3\jcompress\viewkind1\viewscale100\rsidroot2451337 \fet0{\*\wgrffmtfilter 2450}\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\sectdefaultcl\sectrsid7811264\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}
{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}
{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\sa200\sl276\slmult1\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid11165562 \rtlch\fcs1 \af0\afs22\alang1025 \ltrch\fcs0
\fs22\lang1033\langfe1033\loch\af31506\hich\af31506\dbch\af31505\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \ab\af0\afs20 \ltrch\fcs0 \b\f0\fs20\insrsid11165562\charrsid11165562 \hich\af0\dbch\af31505\loch\f0 Copyright (c) 2009 - 2011 Laurent Bugnion
\par
\par \hich\af0\dbch\af31505\loch\f0
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, m
\hich\af0\dbch\af31505\loch\f0 e\hich\af0\dbch\af31505\loch\f0 rge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
\par
\par \hich\af0\dbch\af31505\loch\f0 The above copyright notice and this permission notice shall be included in all\hich\af0\dbch\af31505\loch\f0 copies or substantial portions of the Software.
\par
\par \hich\af0\dbch\af31505\loch\f0 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN N
\hich\af0\dbch\af31505\loch\f0
O EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.}
{\rtlch\fcs1 \af0 \ltrch\fcs0 \insrsid2451337\charrsid11165562
\par }{\*\themedata 504b030414000600080000002100e9de0fbfff0000001c020000130000005b436f6e74656e745f54797065735d2e786d6cac91cb4ec3301045f748fc83e52d4a
9cb2400825e982c78ec7a27cc0c8992416c9d8b2a755fbf74cd25442a820166c2cd933f79e3be372bd1f07b5c3989ca74aaff2422b24eb1b475da5df374fd9ad
5689811a183c61a50f98f4babebc2837878049899a52a57be670674cb23d8e90721f90a4d2fa3802cb35762680fd800ecd7551dc18eb899138e3c943d7e503b6
b01d583deee5f99824e290b4ba3f364eac4a430883b3c092d4eca8f946c916422ecab927f52ea42b89a1cd59c254f919b0e85e6535d135a8de20f20b8c12c3b0
0c895fcf6720192de6bf3b9e89ecdbd6596cbcdd8eb28e7c365ecc4ec1ff1460f53fe813d3cc7f5b7f020000ffff0300504b030414000600080000002100a5d6
a7e7c0000000360100000b0000005f72656c732f2e72656c73848fcf6ac3300c87ef85bd83d17d51d2c31825762fa590432fa37d00e1287f68221bdb1bebdb4f
c7060abb0884a4eff7a93dfeae8bf9e194e720169aaa06c3e2433fcb68e1763dbf7f82c985a4a725085b787086a37bdbb55fbc50d1a33ccd311ba548b6309512
0f88d94fbc52ae4264d1c910d24a45db3462247fa791715fd71f989e19e0364cd3f51652d73760ae8fa8c9ffb3c330cc9e4fc17faf2ce545046e37944c69e462
a1a82fe353bd90a865aad41ed0b5b8f9d6fd010000ffff0300504b0304140006000800000021006b799616830000008a0000001c0000007468656d652f746865
6d652f7468656d654d616e616765722e786d6c0ccc4d0ac3201040e17da17790d93763bb284562b2cbaebbf600439c1a41c7a0d29fdbd7e5e38337cedf14d59b
4b0d592c9c070d8a65cd2e88b7f07c2ca71ba8da481cc52c6ce1c715e6e97818c9b48d13df49c873517d23d59085adb5dd20d6b52bd521ef2cdd5eb9246a3d8b
4757e8d3f729e245eb2b260a0238fd010000ffff0300504b03041400060008000000210096b5ade296060000501b0000160000007468656d652f7468656d652f
7468656d65312e786d6cec594f6fdb3614bf0fd87720746f6327761a07758ad8b19b2d4d1bc46e871e698996d850a240d2497d1bdae38001c3ba618715d86d87
615b8116d8a5fb34d93a6c1dd0afb0475292c5585e9236d88aad3e2412f9e3fbff1e1fa9abd7eec70c1d1221294fda5efd72cd4324f1794093b0eddd1ef62fad
79482a9c0498f184b4bd2991deb58df7dfbb8ad755446282607d22d771db8b944ad79796a40fc3585ee62949606ecc458c15bc8a702910f808e8c66c69b9565b
5d8a314d3c94e018c8de1a8fa94fd05093f43672e23d06af89927ac06762a049136785c10607758d9053d965021d62d6f6804fc08f86e4bef210c352c144dbab
999fb7b4717509af678b985ab0b6b4ae6f7ed9ba6c4170b06c788a705430adf71bad2b5b057d03606a1ed7ebf5babd7a41cf00b0ef83a6569632cd467faddec9
699640f6719e76b7d6ac355c7c89feca9cccad4ea7d36c65b258a206641f1b73f8b5da6a6373d9c11b90c537e7f08dce66b7bbeae00dc8e257e7f0fd2badd586
8b37a088d1e4600ead1ddaef67d40bc898b3ed4af81ac0d76a197c86826828a24bb318f3442d8ab518dfe3a20f000d6458d104a9694ac6d88728eee2782428d6
0cf03ac1a5193be4cbb921cd0b495fd054b5bd0f530c1931a3f7eaf9f7af9e3f45c70f9e1d3ff8e9f8e1c3e3073f5a42ceaa6d9c84e5552fbffdeccfc71fa33f
9e7ef3f2d117d57859c6fffac327bffcfc793510d26726ce8b2f9ffcf6ecc98baf3efdfdbb4715f04d814765f890c644a29be408edf3181433567125272371be
15c308d3f28acd249438c19a4b05fd9e8a1cf4cd296699771c393ac4b5e01d01e5a30a787d72cf1178108989a2159c77a2d801ee72ce3a5c545a6147f32a9979
3849c26ae66252c6ed637c58c5bb8b13c7bfbd490a75330f4b47f16e441c31f7184e140e494214d273fc80900aedee52ead87597fa824b3e56e82e451d4c2b4d
32a423279a668bb6690c7e9956e90cfe766cb37b077538abd27a8b1cba48c80acc2a841f12e698f13a9e281c57911ce298950d7e03aba84ac8c154f8655c4f2a
f074481847bd804859b5e696007d4b4edfc150b12addbecba6b18b148a1e54d1bc81392f23b7f84137c2715a851dd0242a633f900710a218ed715505dfe56e86
e877f0034e16bafb0e258ebb4faf06b769e888340b103d3311da9750aa9d0a1cd3e4efca31a3508f6d0c5c5c398602f8e2ebc71591f5b616e24dd893aa3261fb
44f95d843b5974bb5c04f4edafb95b7892ec1108f3f98de75dc97d5772bdff7cc95d94cf672db4b3da0a6557f70db629362d72bcb0431e53c6066acac80d699a
6409fb44d08741bdce9c0e4971624a2378cceaba830b05366b90e0ea23aaa241845368b0eb9e2612ca8c742851ca251ceccc70256d8d87265dd96361531f186c
3d9058edf2c00eafe8e1fc5c509031bb4d680e9f39a3154de0accc56ae644441edd76156d7429d995bdd88664a9dc3ad50197c38af1a0c16d684060441db0256
5e85f3b9660d0713cc48a0ed6ef7dedc2dc60b17e92219e180643ed27acffba86e9c94c78ab90980d8a9f0913ee49d62b512b79626fb06dccee2a432bbc60276
b9f7dec44b7904cfbca4f3f6443ab2a49c9c2c41476dafd55c6e7ac8c769db1bc399161ee314bc2e75cf8759081743be1236ec4f4d6693e5336fb672c5dc24a8
c33585b5fb9cc24e1d4885545b58463634cc5416022cd19cacfccb4d30eb45296023fd35a458598360f8d7a4003bbaae25e331f155d9d9a5116d3bfb9a95523e
51440ca2e0088dd844ec6370bf0e55d027a012ae264c45d02f708fa6ad6da6dce29c255df9f6cae0ec38666984b372ab5334cf640b37795cc860de4ae2816e95
b21be5ceaf8a49f90b52a51cc6ff3355f47e0237052b81f6800fd7b802239daf6d8f0b1571a8426944fdbe80c6c1d40e8816b88b8569082ab84c36ff0539d4ff
6dce591a26ade1c0a7f669880485fd484582903d284b26fa4e2156cff62e4b9265844c4495c495a9157b440e091bea1ab8aaf7760f4510eaa69a6465c0e04ec6
9ffb9e65d028d44d4e39df9c1a52ecbd3607fee9cec7263328e5d661d3d0e4f62f44acd855ed7ab33cdf7bcb8ae889599bd5c8b3029895b6825696f6af29c239
b75a5bb1e6345e6ee6c28117e73586c1a2214ae1be07e93fb0ff51e133fb65426fa843be0fb515c187064d0cc206a2fa926d3c902e907670048d931db4c1a449
59d366ad93b65abe595f70a75bf03d616c2dd959fc7d4e6317cd99cbcec9c58b34766661c7d6766ca1a9c1b327531486c6f941c638c67cd22a7f75e2a37be0e8
2db8df9f30254d30c1372581a1f51c983c80e4b71ccdd28dbf000000ffff0300504b0304140006000800000021000dd1909fb60000001b010000270000007468
656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73848f4d0ac2301484f78277086f6fd3ba109126dd88d0add40384e4
350d363f2451eced0dae2c082e8761be9969bb979dc9136332de3168aa1a083ae995719ac16db8ec8e4052164e89d93b64b060828e6f37ed1567914b284d2624
52282e3198720e274a939cd08a54f980ae38a38f56e422a3a641c8bbd048f7757da0f19b017cc524bd62107bd5001996509affb3fd381a89672f1f165dfe5141
73d9850528a2c6cce0239baa4c04ca5bbabac4df000000ffff0300504b01022d0014000600080000002100e9de0fbfff0000001c020000130000000000000000
0000000000000000005b436f6e74656e745f54797065735d2e786d6c504b01022d0014000600080000002100a5d6a7e7c0000000360100000b00000000000000
000000000000300100005f72656c732f2e72656c73504b01022d00140006000800000021006b799616830000008a0000001c0000000000000000000000000019
0200007468656d652f7468656d652f7468656d654d616e616765722e786d6c504b01022d001400060008000000210096b5ade296060000501b00001600000000
000000000000000000d60200007468656d652f7468656d652f7468656d65312e786d6c504b01022d00140006000800000021000dd1909fb60000001b01000027
00000000000000000000000000a00900007468656d652f7468656d652f5f72656c732f7468656d654d616e616765722e786d6c2e72656c73504b050600000000050005005d0100009b0a00000000}
{\*\colorschememapping 3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d3822207374616e64616c6f6e653d22796573223f3e0d0a3c613a636c724d
617020786d6c6e733a613d22687474703a2f2f736368656d61732e6f70656e786d6c666f726d6174732e6f72672f64726177696e676d6c2f323030362f6d6169
6e22206267313d226c743122207478313d22646b3122206267323d226c743222207478323d22646b322220616363656e74313d22616363656e74312220616363
656e74323d22616363656e74322220616363656e74333d22616363656e74332220616363656e74343d22616363656e74342220616363656e74353d22616363656e74352220616363656e74363d22616363656e74362220686c696e6b3d22686c696e6b2220666f6c486c696e6b3d22666f6c486c696e6b222f3e}
{\*\latentstyles\lsdstimax267\lsdlockeddef0\lsdsemihiddendef1\lsdunhideuseddef1\lsdqformatdef0\lsdprioritydef99{\lsdlockedexcept \lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority0 \lsdlocked0 Normal;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority9 \lsdlocked0 heading 1;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 2;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 3;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 4;
\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 5;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 6;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 7;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 8;\lsdqformat1 \lsdpriority9 \lsdlocked0 heading 9;
\lsdpriority39 \lsdlocked0 toc 1;\lsdpriority39 \lsdlocked0 toc 2;\lsdpriority39 \lsdlocked0 toc 3;\lsdpriority39 \lsdlocked0 toc 4;\lsdpriority39 \lsdlocked0 toc 5;\lsdpriority39 \lsdlocked0 toc 6;\lsdpriority39 \lsdlocked0 toc 7;
\lsdpriority39 \lsdlocked0 toc 8;\lsdpriority39 \lsdlocked0 toc 9;\lsdqformat1 \lsdpriority35 \lsdlocked0 caption;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority10 \lsdlocked0 Title;\lsdpriority1 \lsdlocked0 Default Paragraph Font;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority11 \lsdlocked0 Subtitle;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority22 \lsdlocked0 Strong;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority20 \lsdlocked0 Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority59 \lsdlocked0 Table Grid;\lsdunhideused0 \lsdlocked0 Placeholder Text;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority1 \lsdlocked0 No Spacing;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 1;\lsdunhideused0 \lsdlocked0 Revision;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority34 \lsdlocked0 List Paragraph;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority29 \lsdlocked0 Quote;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority30 \lsdlocked0 Intense Quote;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 1;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 1;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 2;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 2;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 3;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 3;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 4;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 4;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 5;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 5;\lsdsemihidden0 \lsdunhideused0 \lsdpriority60 \lsdlocked0 Light Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority61 \lsdlocked0 Light List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority62 \lsdlocked0 Light Grid Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority63 \lsdlocked0 Medium Shading 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority64 \lsdlocked0 Medium Shading 2 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority65 \lsdlocked0 Medium List 1 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority66 \lsdlocked0 Medium List 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority67 \lsdlocked0 Medium Grid 1 Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority68 \lsdlocked0 Medium Grid 2 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority69 \lsdlocked0 Medium Grid 3 Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority70 \lsdlocked0 Dark List Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdpriority71 \lsdlocked0 Colorful Shading Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority72 \lsdlocked0 Colorful List Accent 6;\lsdsemihidden0 \lsdunhideused0 \lsdpriority73 \lsdlocked0 Colorful Grid Accent 6;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority19 \lsdlocked0 Subtle Emphasis;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority21 \lsdlocked0 Intense Emphasis;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority31 \lsdlocked0 Subtle Reference;\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority32 \lsdlocked0 Intense Reference;
\lsdsemihidden0 \lsdunhideused0 \lsdqformat1 \lsdpriority33 \lsdlocked0 Book Title;\lsdpriority37 \lsdlocked0 Bibliography;\lsdqformat1 \lsdpriority39 \lsdlocked0 TOC Heading;}}{\*\datastore 010500000200000018000000
4d73786d6c322e534158584d4c5265616465722e362e3000000000000000000000060000
d0cf11e0a1b11ae1000000000000000000000000000000003e000300feff090006000000000000000000000001000000010000000000000000100000feffffff00000000feffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
fffffffffffffffffdfffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
ffffffffffffffffffffffffffffffff52006f006f007400200045006e00740072007900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000016000500ffffffffffffffffffffffff0c6ad98892f1d411a65f0040963251e50000000000000000000000007049
3752bbfccb01feffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff00000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff0000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffff000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000105000000000000}}

Двоичные данные
Installer/Win8Installer/Installer/MVVM_Original_195x100.png Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 32 KiB

Просмотреть файл

@ -0,0 +1,433 @@
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="09663D3C-DEC5-4AB2-9EB2-43AE8805B158"
Name="MVVM Light Toolkit for Win8"
Language="1033"
Version="4.0.0.171"
Manufacturer="Laurent Bugnion (GalaSoft)"
UpgradeCode="0C724662-43C5-43F0-9727-2A1027AF07A4">
<Package InstallerVersion="200"
Compressed="yes"
Id="*"
Keywords="Installer"
Description="MVVM Light Toolkit Installer for Windows 8 (V4 beta 1)"
Comments="The MVVM Light Toolkit is a set of components helping people to get started in the Model - View - ViewModel pattern in Silverlight, WPF and Windows Phone. It is a light and pragmatic framework that contains only the essential components needed. This is the Windows 8 version only (preview)."
Manufacturer="Laurent Bugnion (GalaSoft)"
Languages="1033"
SummaryCodepage="1252"
Platform="x86" />
<Media Id="1"
Cabinet="media1.cab"
EmbedCab="yes" />
<Property Id="ARPHELPLINK">http://mvvmlight.codeplex.com/</Property>
<Property Id="ARPURLINFOABOUT">http://mvvmlight.codeplex.com/</Property>
<!--Registry key variables-->
<Property Id="VS11XINSTALL">
<RegistrySearch Id="VS11XRegistry"
Type="raw"
Root="HKLM"
Key="SOFTWARE\Microsoft\VSWinExpress\11.0"
Name="ShellFolder" />
</Property>
<Property Id="VS11INSTALL">
<RegistrySearch Id="VS11Registry"
Type="raw"
Root="HKLM"
Key="SOFTWARE\Microsoft\VisualStudio\11.0"
Name="ShellFolder" />
</Property>
<!--Product installed variables-->
<Property Id="VS11XEXISTS">
<DirectorySearch Id="CheckFileDirVS11X"
Path="[VS11XINSTALL]\Common7\IDE"
Depth="0">
<FileSearch Name="VSWinExpress.exe"/>
</DirectorySearch>
</Property>
<Property Id="VS11EXISTS">
<DirectorySearch Id="CheckFileDirVS11"
Path="[VS11INSTALL]\Common7\IDE"
Depth="0">
<FileSearch Name="devenv.exe"/>
</DirectorySearch>
</Property>
<!--Files to install-->
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="AppDataFolder">
<Directory Id="AppDataMvvm"
Name="MvvmLight">
<Component Id="PostSetup"
Guid="5B01F718-5639-4E33-B1FE-2E4441BCEE17">
<File Id="ModifyRegistryKey.exe"
Name="ModifyRegistryKey.exe"
DiskId="1"
Source="../ModifyRegistryKey/bin/Debug/ModifyRegistryKey.exe" />
</Component>
</Directory>
</Directory>
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION"
Name="Laurent Bugnion (GalaSoft)">
<Directory Id="PRODUCTDIR"
Name="Mvvm Light Toolkit">
<Directory Id="SNIPPETS"
Name="SnippetsWin8">
<Directory Id="SNIPPETSCS"
Name="CSharp">
<Component Id="SnippetsCsComp"
DiskId="1"
Guid="DF69467C-FB36-46A6-ADDC-82C97E13E5AA">
<File Id="mvvmInpc.snippet.cs"
Name="mvvmInpc.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpc.snippet" />
<File Id="mvvmInpcLambda.snippet.cs"
Name="mvvmInpcLambda.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcLambda.snippet" />
<File Id="mvvmInpcLambdaMsg.snippet.cs"
Name="mvvmInpcLambdaMsg.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcLambdaMsg.snippet" />
<File Id="mvvmInpcMsg.snippet.cs"
Name="mvvmInpcMsg.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcMsg.snippet" />
<File Id="mvvmInpcSet.snippet.cs"
Name="mvvmInpcSet.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcSet.snippet" />
<File Id="mvvmInpcSetLambda.snippet.cs"
Name="mvvmInpcSetLambda.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcSetLambda.snippet" />
<File Id="mvvmInpcSetLambdaMsg.snippet.cs"
Name="mvvmInpcSetLambdaMsg.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcSetLambdaMsg.snippet" />
<File Id="mvvmInpcSetMsg.snippet.cs"
Name="mvvmInpcSetMsg.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmInpcSetMsg.snippet" />
<File Id="mvvmPropA.snippet.cs"
Name="mvvmPropA.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmPropA.snippet" />
<File Id="mvvmPropDP.snippet.cs"
Name="mvvmPropDP.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmPropDP.snippet" />
<File Id="mvvmRelay.snippet.cs"
Name="mvvmRelay.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelay.snippet" />
<File Id="mvvmRelayCanExecute.snippet.cs"
Name="mvvmRelayCanExecute.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayCanExecute.snippet" />
<File Id="mvvmRelayGeneric.snippet.cs"
Name="mvvmRelayGeneric.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayGeneric.snippet" />
<File Id="mvvmRelayGenericCanExecute.snippet.cs"
Name="mvvmRelayGenericCanExecute.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayGenericCanExecute.snippet" />
<File Id="mvvmRelayMethod.snippet.cs"
Name="mvvmRelayMethod.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayMethod.snippet" />
<File Id="mvvmRelayMethodCanExecute.snippet.cs"
Name="mvvmRelayMethodCanExecute.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayMethodCanExecute.snippet" />
<File Id="mvvmRelayMethodGeneric.snippet.cs"
Name="mvvmRelayMethodGeneric.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayMethodGeneric.snippet" />
<File Id="mvvmRelayMethodGenericCanExecute.snippet.cs"
Name="mvvmRelayMethodGenericCanExecute.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmRelayMethodGenericCanExecute.snippet" />
<File Id="mvvmSLPropA.snippet.cs"
Name="mvvmSLPropA.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmSLPropA.snippet" />
<File Id="mvvmSLPropDP.snippet.cs"
Name="mvvmSLPropDP.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmSLPropDP.snippet" />
<File Id="mvvmViewModelLocatorProperty.snippet.cs"
Name="mvvmViewModelLocatorProperty.snippet"
Source="../../Standard/InstallItems/GalaSoft.MvvmLight.Snippets/CSharp/mvvmViewModelLocatorProperty.snippet" />
</Component>
</Directory>
</Directory>
<Directory Id="BINARIES"
Name="Binaries">
<Directory Id="WIN8BINARIES"
Name="Win8">
<Component Id="Win8BinariesComp"
Guid="13566130-A20C-4AF2-9986-89197ADA6980">
<File Id="GalaSoft.MvvmLight.dll.Win8"
Name="GalaSoft.MvvmLight.Win8.dll"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/GalaSoft.MvvmLight.Win8.dll" />
<File Id="GalaSoft.MvvmLight.xml.Win8"
Name="GalaSoft.MvvmLight.Win8.xml"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/GalaSoft.MvvmLight.Win8.xml" />
<File Id="GalaSoft.MvvmLight.Extras.dll.Win8"
Name="GalaSoft.MvvmLight.Extras.Win8.dll"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/GalaSoft.MvvmLight.Extras.Win8.dll" />
<File Id="GalaSoft.MvvmLight.Extras.xml.Win8"
Name="GalaSoft.MvvmLight.Extras.Win8.xml"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/GalaSoft.MvvmLight.Extras.Win8.xml" />
<File Id="Microsoft.Practices.ServiceLocation.dll.Win8"
Name="Microsoft.Practices.ServiceLocation.dll"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/Microsoft.Practices.ServiceLocation.dll" />
<File Id="Microsoft.Practices.ServiceLocation.xml.Win8"
Name="Microsoft.Practices.ServiceLocation.xml"
DiskId="1"
Source="../../../GalaSoft.MvvmLight/_Binaries/Release/Win8/Microsoft.Practices.ServiceLocation.xml" />
</Component>
<!--<Component Id="AssemblyFoldersExRegistry.Win8"
Guid="{2CEB2FB3-C19F-453C-A467-250FBB65FD41}">
<RegistryKey Id="AssemblyRegistryKeyBinaries.Win8"
Action="createAndRemoveOnUninstall"
Key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0\AssemblyFoldersEx\MVVM Light Toolkit"
Root="HKLM" />
<RegistryValue Id="reg2CEB2FB3C19F453CA467250FBB65FD41"
Root="HKLM"
Key="SOFTWARE\Microsoft\Microsoft SDKs\Windows\v8.0\AssemblyFoldersEx\MVVM Light Toolkit"
Value="[WIN8BINARIES]"
Type="string"
KeyPath="yes" />
</Component>-->
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<!--VS2011 Templates-->
<Directory Id="VS11INSTALL">
<Directory Id="Vs11Common7"
Name="Common7">
<Directory Id="Vs11Common7Ide"
Name="IDE">
<Directory Id="Vs11ProjectTemplates"
Name="ProjectTemplates">
<Directory Id="Vs11ProjectTemplatesCs"
Name="CSharp">
<Directory Id="Vs11ProjectTemplatesCsMetro"
Name="Windows Metro style">
<Directory Id="Vs11ProjectTemplatesCsMetroMvvm"
Name="Mvvm">
<Component Id="Vs11ProjectTemplatesCsMetroMvvmWin8Comp"
Guid="{583FD4C1-2F75-40FF-B7CC-D6F8979A6A02}">
<File Id="MvvmLight.Win8.zip.VS11"
Name="MvvmLight.Win8.zip"
DiskId="1"
Source="../InstallItems/GalaSoft.MvvmLight.Templates/ProjectTemplates/Win8/MvvmLight.Win8.zip" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<!--VS2011Express Templates-->
<Directory Id="VS11XINSTALL">
<Directory Id="Vs11xCommon7"
Name="Common7">
<Directory Id="Vs11xCommon7Ide"
Name="IDE">
<Directory Id="Vs11xVsWinx"
Name="VSWinExpress">
<Directory Id="Vs11xProjectTemplates"
Name="ProjectTemplates">
<Directory Id="Vs11xProjectTemplatesMvvm"
Name="Mvvm">
<Component Id="Vs11xProjectTemplatesMvvmComp"
Guid="{71dbb618-7b65-4f28-9cb2-458d953e0ff3}">
<File Id="MvvmLight.Win8.zip.VS11x"
Name="MvvmLight.Win8.zip"
DiskId="1"
Source="../InstallItems/GalaSoft.MvvmLight.Templates/ProjectTemplates/Win8/MvvmLight.Win8.zip" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ApplicationProgramsFolder"
Name="MvvmLight"/>
</Directory>
</Directory>
<DirectoryRef Id="ApplicationProgramsFolder">
<Component Id="ApplicationShortcut"
Guid="{4BB94CF9-DCBC-470B-A8EB-5C6DECC666BD}">
<Shortcut Id="BinariesFolderShortcut"
Name="Binaries"
Description="Go to the Binaries folder"
Target="[BINARIES]"
WorkingDirectory="BINARIES" />
<Shortcut Id="UninstallProduct"
Name="Uninstall Mvvm Light for Windows 8"
Description="Uninstalls MvvmLight (Windows 8 preview edition)"
Target="[System64Folder]msiexec.exe"
Arguments="/x [ProductCode]"/>
<RemoveFolder Id="ApplicationProgramsFolder"
On="uninstall"/>
<RegistryValue Root="HKCU"
Key="Software\GalaSoft\MvvmLightWin8"
Name="installed"
Type="integer"
Value="1"
KeyPath="yes"/>
</Component>
</DirectoryRef>
<Feature Id="ProductFeature"
Title="MVVM Light Toolkit for Windows 8 (preview)"
Level="1"
Description="The complete package."
Display="expand">
<ComponentRef Id="ApplicationShortcut" />
<ComponentRef Id="PostSetup" />
<Feature Id="Binaries"
Title="Binaries"
Level="1"
Description="MVVM Light binaries for Windows 8">
<ComponentRef Id="Win8BinariesComp" />
<!--<ComponentRef Id="AssemblyFoldersExRegistry.SL4" />-->
<Condition Level="0">NOT VS11EXISTS AND NOT VS11XEXISTS</Condition>
</Feature>
<Feature Id="TemplatesVS11"
Title="VS11 Templates"
Level="1"
Description="Project Templates for Visual Studio 11 (full version).">
<Condition Level="0">NOT VS11EXISTS</Condition>
<ComponentRef Id="Vs11ProjectTemplatesCsMetroMvvmWin8Comp" />
</Feature>
<Feature Id="TemplatesVS11x"
Level="1"
Title="VS11 Express templates"
Description="Project Templates for Visual Studio 2011">
<Condition Level="0">NOT VS11XEXISTS OR VS11EXISTS</Condition>
<ComponentRef Id="Vs11xProjectTemplatesMvvmComp" />
</Feature>
<Feature Id="VSSnippets"
Title="Snippets"
Level="1"
Description="Code snippets for Visual Studio 11"
Display="collapse">
<ComponentRef Id="SnippetsCsComp" />
<Condition Level="0">NOT VS11XEXISTS AND NOT VS11EXISTS</Condition>
</Feature>
<!-- Note: The following ComponentGroupRef is required to pull in generated authoring from project references. -->
<ComponentGroupRef Id="Product.Generated" />
</Feature>
<!--Dialog settings-->
<UIRef Id="WixUI_FeatureTree" />
<!--WixUI_FeatureTree is similar to the full set but it doesn't allow the user to chose between setup types. It always assumes Custom and goes directly to the feature customization dialog after the user has accepted the license agreement.-->
<UIRef Id="WixUI_ErrorProgressText" />
<WixVariable Id="WixUILicenseRtf"
Value="License.rtf" />
<!--See http://www.tramontana.co.hu/wix/lesson2.php#2.1-->
<WixVariable Id="WixUIBannerBmp"
Value="WixUIBannerBmp.bmp" />
<WixVariable Id="WixUIDialogBmp"
Value="WixUIDialogBmp.bmp" />
<UI>
<ProgressText Action="VS11xInstallVSTemplates">Updating VS11 Express Templates</ProgressText>
<ProgressText Action="VS11InstallVSTemplates">Updating VS11 Templates</ProgressText>
</UI>
<CustomAction Id='VS11InstallVSTemplates'
Execute='deferred'
Impersonate='no'
ExeCommand='"[VS11INSTALL]\Common7\IDE\devenv.exe" /setup'
Directory='TARGETDIR' />
<CustomAction Id='VS11xInstallVSTemplates'
Execute='deferred'
Impersonate='no'
ExeCommand='"[VS11XINSTALL]\Common7\IDE\VSWinExpress.exe" /setup'
Directory='TARGETDIR' />
<CustomAction Id='PostSetupActionVS11User'
Execute='deferred'
Impersonate='yes'
ExeCommand='"[AppDataFolder]\MvvmLight\ModifyRegistryKey.exe" -i11u "[SNIPPETS];'
Directory='TARGETDIR' />
<CustomAction Id='PostSetupActionVS11Machine'
Execute='deferred'
Impersonate='no'
ExeCommand='"[AppDataFolder]\MvvmLight\ModifyRegistryKey.exe" -i11m "[SNIPPETS];'
Directory='TARGETDIR' />
<CustomAction Id='PostSetupActionVs11x'
Execute='deferred'
Impersonate='no'
ExeCommand='"[AppDataFolder]\MvvmLight\ModifyRegistryKey.exe" -i11x "[SNIPPETS];[VS11XINSTALL]'
Directory='TARGETDIR' />
<CustomAction Id='PostRemoveActionUser'
Execute='deferred'
Impersonate='yes'
ExeCommand='"[AppDataFolder]\MvvmLight\ModifyRegistryKey.exe" -uu "[SNIPPETS];'
Directory='TARGETDIR' />
<CustomAction Id='PostRemoveActionMachine'
Execute='deferred'
Impersonate='no'
ExeCommand='"[AppDataFolder]\MvvmLight\ModifyRegistryKey.exe" -um "[SNIPPETS];'
Directory='TARGETDIR' />
<InstallExecuteSequence>
<Custom Action="VS11InstallVSTemplates"
After="InstallFiles">VS11EXISTS</Custom>
<Custom Action="VS11xInstallVSTemplates"
After="InstallFiles">VS11XEXISTS AND NOT VS11EXISTS</Custom>
<Custom Action="PostSetupActionVS11User"
After="InstallFiles">(NOT REMOVE) AND (NOT VS11EXISTS)</Custom>
<Custom Action="PostSetupActionVS11Machine"
After="InstallFiles">(NOT REMOVE) AND (NOT VS11EXISTS)</Custom>
<Custom Action="PostSetupActionVs11x"
After="InstallFiles">(NOT REMOVE) AND VS11XEXISTS AND (NOT VS11EXISTS)</Custom>
<Custom Action="PostRemoveActionUser"
Before="RemoveFiles">REMOVE="ALL"</Custom>
<Custom Action="PostRemoveActionMachine"
Before="RemoveFiles">REMOVE="ALL"</Custom>
</InstallExecuteSequence>
<UI />
</Product>
</Wix>

Двоичные данные
Installer/Win8Installer/Installer/WixUIBannerBmp.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 84 KiB

Двоичные данные
Installer/Win8Installer/Installer/WixUIDialogBmp.bmp Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 451 KiB

Просмотреть файл

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModifyRegistryKey", "ModifyRegistryKey\ModifyRegistryKey.csproj", "{4CA15089-2685-498E-B0E1-1B020A63C3E7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{4CA15089-2685-498E-B0E1-1B020A63C3E7}.Debug|x86.ActiveCfg = Debug|x86
{4CA15089-2685-498E-B0E1-1B020A63C3E7}.Debug|x86.Build.0 = Debug|x86
{4CA15089-2685-498E-B0E1-1B020A63C3E7}.Release|x86.ActiveCfg = Release|x86
{4CA15089-2685-498E-B0E1-1B020A63C3E7}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,95 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{4CA15089-2685-498E-B0E1-1B020A63C3E7}</ProjectGuid>
<OutputType>Exe</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>ModifyRegistryKey</RootNamespace>
<AssemblyName>ModifyRegistryKey</AssemblyName>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>TRACE;DEBUG</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.0,Profile=Client">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4 Client Profile %28x86 and x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Client.3.5">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Windows.Installer.3.1">
<Visible>False</Visible>
<ProductName>Windows Installer 3.1</ProductName>
<Install>true</Install>
</BootstrapperPackage>
</ItemGroup>
<ItemGroup>
<None Include="app.config" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>

Просмотреть файл

@ -0,0 +1,610 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using Microsoft.Win32;
namespace ModifyRegistryKey
{
class Program
{
#if LOG
private static StringBuilder _report = new StringBuilder();
#endif
private const string InstallActionVs11User = "-i11u";
private const string InstallActionVs11Machine = "-i11m";
private const string InstallActionVs10User = "-i10u";
private const string InstallActionVs10Machine = "-i10m";
private const string InstallActionVs08User = "-i08u";
private const string InstallActionVs08Machine = "-i08m";
private const string InstallActionVs10X = "-i10x";
private const string InstallActionVs11X = "-i11x";
private const string UninstallActionUser = "-uu";
private const string UninstallActionMachine = "-um";
private const string PersonalFolderVs10SnippetsPath = "Visual Studio 2010\\Code Snippets\\Visual C#";
private const string PersonalFolderVs11SnippetsPath = "Visual Studio 11\\Code Snippets\\Visual C#";
private static readonly PathInfo SnippetsRegistryPathInfoVs08Machine = new PathInfo
{
RootKey = Registry.LocalMachine,
KeyPath = @"Software\Microsoft\VisualStudio\9.0\Languages\CodeExpansions\CSharp\Paths",
KeyName = "Microsoft Visual CSharp"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs10Machine = new PathInfo
{
RootKey = Registry.LocalMachine,
KeyPath = @"Software\Microsoft\VisualStudio\10.0\Languages\CodeExpansions\CSharp\Paths",
KeyName = "Microsoft Visual CSharp"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs11Machine = new PathInfo
{
RootKey = Registry.LocalMachine,
KeyPath = @"Software\Microsoft\VisualStudio\11.0\Languages\CodeExpansions\CSharp\Paths",
KeyName = "Microsoft Visual CSharp"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs08User = new PathInfo
{
RootKey = Registry.CurrentUser,
KeyPath = @"Software\Microsoft\VisualStudio\9.0\Languages\CodeExpansions\csharp",
KeyName = "path"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs10User = new PathInfo
{
RootKey = Registry.CurrentUser,
KeyPath = @"Software\Microsoft\VisualStudio\10.0\Languages\CodeExpansions\csharp",
KeyName = "path"
};
private static readonly PathInfo SnippetsRegistryPathInfoVs11User = new PathInfo
{
RootKey = Registry.CurrentUser,
KeyPath = @"Software\Microsoft\VisualStudio\11.0\Languages\CodeExpansions\Visual C#",
KeyName = "path"
};
static void Main(string[] args)
{
#if LOG
_report.Append("Starting install at ");
_report.Append(DateTime.Now.ToShortDateString());
_report.Append(DateTime.Now.ToLongTimeString());
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("001: " + args[0]);
//Console.ReadLine();
if (args.Length < 2
|| string.IsNullOrEmpty(args[1])
|| (args[0] != InstallActionVs11User
&& args[0] != InstallActionVs11Machine
&& args[0] != InstallActionVs10User
&& args[0] != InstallActionVs10Machine
&& args[0] != InstallActionVs08User
&& args[0] != InstallActionVs08Machine
&& args[0] != InstallActionVs10X
&& args[0] != InstallActionVs11X
&& args[0] != UninstallActionUser
&& args[0] != UninstallActionMachine))
{
#if LOG
_report.Append("Error when installing");
_report.Append(Environment.NewLine);
WriteReport();
#endif
Console.WriteLine("Syntax: ModifyRegistryKey [-i11u|-i11m|-i10u|-i10m|-i10x|-i11x|-i08u|-i08m|-uu|-um] [pathOfSnippetsFolder];[pathOfVsExpress]");
Console.ReadLine();
return;
}
#if LOG
_report.Append(string.Format("Args[0]: {0}", args[0]));
_report.Append(Environment.NewLine);
_report.Append(string.Format("Args[1]: {0}", args[1]));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Arg 1: " + args[1]);
//Console.ReadLine();
var parsedArgs = args[1].Split(
new[]
{
';'
});
if (args[0] == InstallActionVs10X)
{
RunInstallVs10X(parsedArgs[0]);
}
else
{
if (args[0] == InstallActionVs11X)
{
RunInstallVs11X(parsedArgs[0]);
}
else
{
if (args[0] == UninstallActionUser
|| args[0] == UninstallActionMachine)
{
RunUninstall(args[0], parsedArgs[0]);
}
else
{
RunInstall(args[0], parsedArgs[0]);
}
}
}
#if LOG
_report.Append("Ending install at ");
_report.Append(DateTime.Now.ToShortDateString());
_report.Append(DateTime.Now.ToLongTimeString());
_report.Append(Environment.NewLine);
WriteReport();
#endif
}
#if LOG
private static void WriteReport()
{
if (!Directory.Exists("c:\\temp"))
{
Directory.CreateDirectory("c:\\temp");
}
var appFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
var logFile = new FileInfo("c:\\temp\\mvvmlightinstall.txt");
if (logFile.Exists
&& logFile.Length > 5000)
{
logFile.Delete();
}
using (var stream = File.Open("c:\\temp\\mvvmlightinstall.txt", FileMode.Append))
{
using (var writer = new StreamWriter(stream))
{
writer.Write(_report.ToString());
}
}
}
#endif
private const string MvvmLightFolderName = "MvvmLight";
private static void RunUninstallVs10X()
{
#if LOG
_report.Append("RunUninstallVs10X");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunUninstallVs10X");
//Console.ReadLine();
RunUninstallVs10XVs11X(PersonalFolderVs10SnippetsPath);
}
private static void RunUninstallVs11X()
{
#if LOG
_report.Append("RunUninstallVs11X");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunUninstallVs11X");
//Console.ReadLine();
RunUninstallVs10XVs11X(PersonalFolderVs11SnippetsPath);
}
private static void RunUninstallVs10XVs11X(string personalFolderSnippetsPath)
{
#if LOG
_report.Append("RunUninstallVs10XVS11X");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunInstallVs10x");
//Console.ReadLine();
try
{
var personalFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, personalFolderSnippetsPath);
if (!Directory.Exists(destinationSnippetsRootFolder))
{
return;
}
var allLanguages = Directory.GetDirectories(destinationSnippetsRootFolder);
foreach (var language in allLanguages)
{
#if LOG
_report.Append("In " + language);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("In " + language);
//Console.ReadLine();
var mvvmLightFolderPath = Path.Combine(language, MvvmLightFolderName);
if (Directory.Exists(mvvmLightFolderPath))
{
#if LOG
_report.Append("Deleting " + mvvmLightFolderPath);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Deleting " + mvvmLightFolderPath);
//Console.ReadLine();
Directory.Delete(mvvmLightFolderPath, true);
}
}
}
catch (Exception ex)
{
#if LOG
_report.Append("Error when uninstalling snippets for VS Express. Please contact laurent@galasoft.ch. Sorry...");
_report.Append(ex.Message);
_report.Append(Environment.NewLine);
#endif
Console.WriteLine(
"Error when uninstalling snippets for VS Express. Please contact laurent@galasoft.ch. Sorry...");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
private static void RunInstallVs10X(string snippetsPath)
{
#if LOG
_report.Append("RunInstallVs10X");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunInstallVs10X");
//Console.ReadLine();
RunInstallVs10XVs11x(snippetsPath, PersonalFolderVs10SnippetsPath);
}
private static void RunInstallVs11X(string snippetsPath)
{
#if LOG
_report.Append("RunInstallVs11X");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunInstallVs11X");
//Console.ReadLine();
RunInstallVs10XVs11x(snippetsPath, PersonalFolderVs11SnippetsPath);
}
private static void RunInstallVs10XVs11x(string snippetsPath, string personalFolderSnippetsPath)
{
#if LOG
_report.Append("RunInstallVs10XVs11x");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunInstallVs10XVs11x");
//Console.ReadLine();
try
{
var personalFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
var destinationSnippetsRootFolder = Path.Combine(personalFolderPath, personalFolderSnippetsPath);
if (!Directory.Exists(destinationSnippetsRootFolder))
{
Console.WriteLine("Snippets folder not found. If you have Visual Studio 11 express installed,");
Console.WriteLine("you must run it at least once and then re-run this installer.");
Console.ReadLine();
return;
}
var allLanguages = Directory.GetDirectories(destinationSnippetsRootFolder);
foreach (var language in allLanguages)
{
var languageFolder = new DirectoryInfo(Path.Combine(language, MvvmLightFolderName));
#if LOG
_report.Append("In " + languageFolder.FullName);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("In " + languageFolder.FullName);
//Console.ReadLine();
var sourceSnippetsFolders = Directory.GetDirectories(snippetsPath);
#if LOG
_report.Append(string.Format("Found {0} folders in {1}", sourceSnippetsFolders.Length, snippetsPath));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Found {0} folders in {1}", sourceSnippetsFolders.Length, snippetsPath);
//Console.ReadLine();
if (!languageFolder.Exists)
{
#if LOG
_report.Append(string.Format("Creating {0}", languageFolder.FullName));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Creating {0}", languageFolder.FullName);
//Console.ReadLine();
languageFolder.Create();
}
foreach (var sourceSnippetsFolder in sourceSnippetsFolders)
{
var snippets = Directory.GetFiles(sourceSnippetsFolder, "*.snippet");
#if LOG
_report.Append(string.Format("{0} files found in {1}", snippets.Length, snippetsPath));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("{0} files found in {1}", snippets.Length, snippetsPath);
//Console.ReadLine();
foreach (var snippet in snippets)
{
#if LOG
_report.Append("Copying " + snippet + " to " + language);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Copying " + snippet + " to " + language);
//Console.ReadLine();
var file = new FileInfo(snippet);
file.CopyTo(Path.Combine(languageFolder.FullName, file.Name), true);
}
}
}
}
catch (Exception ex)
{
#if LOG
_report.Append("Error when installing snippets for VS Express. Please contact laurent@galasoft.ch. Sorry...");
_report.Append(Environment.NewLine);
#endif
Console.WriteLine(
"Error when installing snippets for VS Express. Please contact laurent@galasoft.ch. Sorry...");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
private static void RunInstall(string command, string snippetsPath)
{
try
{
#if LOG
_report.Append("RunInstall");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunInstall");
//Console.ReadLine();
PathInfo pathInfo = null;
switch (command)
{
case InstallActionVs11User:
pathInfo = SnippetsRegistryPathInfoVs11User;
break;
case InstallActionVs11Machine:
pathInfo = SnippetsRegistryPathInfoVs11Machine;
break;
case InstallActionVs10User:
pathInfo = SnippetsRegistryPathInfoVs10User;
break;
case InstallActionVs10Machine:
pathInfo = SnippetsRegistryPathInfoVs10Machine;
break;
case InstallActionVs08User:
pathInfo = SnippetsRegistryPathInfoVs08User;
break;
case InstallActionVs08Machine:
pathInfo = SnippetsRegistryPathInfoVs08Machine;
break;
}
if (pathInfo == null)
{
return;
}
RegistryKey subKey;
var snippetsPaths = GetPath(pathInfo, out subKey);
if (string.IsNullOrEmpty(snippetsPaths)
|| subKey == null)
{
return;
}
if (!snippetsPaths.EndsWith(";"))
{
snippetsPaths = snippetsPaths + ";";
}
if (!snippetsPaths.Contains(snippetsPath))
{
#if LOG
_report.Append("New path: " + snippetsPaths + snippetsPath + ";");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("New path: " + snippetsPaths + snippetsPath + ";");
//Console.ReadLine();
subKey.SetValue(pathInfo.KeyName, snippetsPaths + snippetsPath + ";");
}
}
catch (Exception ex)
{
#if LOG
_report.Append("Error when installing snippets. Please contact laurent@galasoft.ch. Sorry...");
_report.Append(Environment.NewLine);
#endif
Console.WriteLine(
"Error when installing snippets. Please contact laurent@galasoft.ch. Sorry...");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
private static string GetPath(PathInfo pathInfo, out RegistryKey subKey)
{
#if LOG
_report.Append(string.Format(
"Checking subKey {0} in {1}",
pathInfo.KeyPath,
pathInfo.RootKey.Name));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine(
// "Checking subKey {0} in {1}",
// pathInfo.KeyPath,
// pathInfo.RootKey.Name);
//Console.ReadLine();
subKey = pathInfo.RootKey.OpenSubKey(pathInfo.KeyPath, true);
if (subKey == null)
{
#if LOG
_report.Append(string.Format("subKey == null ({0})", pathInfo.KeyPath));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("subKey == null ({0})", pathInfo.KeyPath);
//Console.ReadLine();
return null;
}
var path = subKey.GetValue(pathInfo.KeyName);
if (path == null)
{
return null;
}
#if LOG
_report.Append("Old path: " + path);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Old path: " + path);
//Console.ReadLine();
return path.ToString();
}
private static void RunUninstall(string command, string snippetsPath)
{
try
{
#if LOG
_report.Append("RunUninstall");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("RunUninstall");
//Console.ReadLine();
var allPathsInfo = new List<PathInfo>();
switch (command)
{
case UninstallActionUser:
allPathsInfo.Add(SnippetsRegistryPathInfoVs08User);
allPathsInfo.Add(SnippetsRegistryPathInfoVs10User);
allPathsInfo.Add(SnippetsRegistryPathInfoVs11User);
break;
case UninstallActionMachine:
allPathsInfo.Add(SnippetsRegistryPathInfoVs08Machine);
allPathsInfo.Add(SnippetsRegistryPathInfoVs10Machine);
allPathsInfo.Add(SnippetsRegistryPathInfoVs11Machine);
break;
}
snippetsPath = snippetsPath + ";";
foreach (var info in allPathsInfo)
{
#if LOG
_report.Append(string.Format("Checking {0}", info.KeyName));
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Checking {0}", info.KeyName);
//Console.ReadLine();
RegistryKey subKey;
var snippetsPaths = GetPath(info, out subKey);
if (string.IsNullOrEmpty(snippetsPaths)
|| subKey == null)
{
#if LOG
_report.Append("Null");
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("Null");
//Console.ReadLine();
continue;
}
if (snippetsPaths.Contains(snippetsPath))
{
snippetsPaths = snippetsPaths.Replace(snippetsPath, "");
#if LOG
_report.Append("New path: " + snippetsPaths);
_report.Append(Environment.NewLine);
#endif
//Console.WriteLine("New path: " + snippetsPaths);
//Console.ReadLine();
subKey.SetValue(info.KeyName, snippetsPaths);
}
}
if (command == UninstallActionUser)
{
RunUninstallVs10X();
RunUninstallVs11X();
}
}
catch (Exception ex)
{
#if LOG
_report.Append("Error when installing snippets. Please contact laurent@galasoft.ch. Sorry...");
_report.Append(Environment.NewLine);
#endif
Console.WriteLine(
"Error when installing snippets. Please contact laurent@galasoft.ch. Sorry...");
Console.WriteLine(ex.Message);
Console.ReadLine();
}
}
}
internal class PathInfo
{
public RegistryKey RootKey
{
get;
set;
}
public string KeyPath
{
get;
set;
}
public string KeyName
{
get;
set;
}
}
}

Просмотреть файл

@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("ModifyRegistryKey")]
[assembly: AssemblyDescription("Post setup action for MVVM Light Toolkit")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Laurent Bugnion (GalaSoft) laurent@galasoft.ch")]
[assembly: AssemblyProduct("ModifyRegistryKey")]
[assembly: AssemblyCopyright("Copyright © Laurent Bugnion (GalaSoft) 2011")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("af7cef0a-0a37-4f29-b1d0-458ffebf2330")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("4.0.0.17")]
[assembly: AssemblyFileVersion("4.0.0.17")]

Просмотреть файл

@ -0,0 +1,3 @@
<?xml version="1.0"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5,Profile=Client"/></startup></configuration>

Просмотреть файл

@ -0,0 +1,18 @@
del /s /ah /f *.suo
del /s /f *.user
del /s /f *.cache
del /s /f *.keep
del /s /ah StyleCop.Cache
rd /s /q bin obj ClientBin _Resharper.* _Upgrade* TestResults
del dirs.txt
dir /s /b /ad bin > dirs.txt
dir /s /b /ad obj >> dirs.txt
dir /s /b /ad ClientBin >> dirs.txt
dir /s /b /ad _Resharper.* >> dirs.txt
dir /s /b /ad _Upgrade* >> dirs.txt
dir /s /b /ad TestResults >> dirs.txt
for /f "delims=;" %%i in (dirs.txt) DO rd /s /q "%%i"
del dirs.txt

Просмотреть файл

@ -0,0 +1,22 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 11
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ProjectForTemplates.Win8", "ProjectForTemplates.Win8\ProjectForTemplates.Win8.csproj", "{75CCCE90-11AA-405D-A128-FEA952708D15}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{75CCCE90-11AA-405D-A128-FEA952708D15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{75CCCE90-11AA-405D-A128-FEA952708D15}.Debug|Any CPU.Build.0 = Debug|Any CPU
{75CCCE90-11AA-405D-A128-FEA952708D15}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
{75CCCE90-11AA-405D-A128-FEA952708D15}.Release|Any CPU.ActiveCfg = Release|Any CPU
{75CCCE90-11AA-405D-A128-FEA952708D15}.Release|Any CPU.Build.0 = Release|Any CPU
{75CCCE90-11AA-405D-A128-FEA952708D15}.Release|Any CPU.Deploy.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -0,0 +1,19 @@
<Application xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
x:Class="ProjectForTemplates.Win8.App"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:vm="using:ProjectForTemplates.ViewModel"
mc:Ignorable="d">
<Application.Resources>
<!--Global View Model Locator-->
<vm:ViewModelLocator x:Key="Locator"
d:IsDataSource="True" />
<!--<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary Source="Skins/MainSkin.xaml" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>-->
</Application.Resources>
</Application>

Просмотреть файл

@ -0,0 +1,21 @@
using System;
using System.Threading.Tasks;
using Windows.ApplicationModel.Activation;
using Windows.UI.Xaml;
namespace ProjectForTemplates.Win8
{
partial class App
{
public App()
{
InitializeComponent();
}
protected override void OnLaunched(LaunchActivatedEventArgs args)
{
Window.Current.Content = new MainPage();
Window.Current.Activate();
}
}
}

Просмотреть файл

@ -0,0 +1,16 @@
using System;
using ProjectForTemplates.Model;
namespace ProjectForTemplates.Design
{
public class DesignDataService : IDataService
{
public void GetData(Action<DataItem, Exception> callback)
{
// Use this to create design time data
var item = new DataItem("Welcome to MVVM Light [design]");
callback(item, null);
}
}
}

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 5.7 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 745 B

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 7.0 KiB

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 1.9 KiB

Просмотреть файл

@ -0,0 +1,22 @@
<UserControl x:Class="ProjectForTemplates.Win8.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
d:DesignHeight="768"
d:DesignWidth="1366"
DataContext="{Binding Main, Source={StaticResource Locator}}">
<Grid x:Name="LayoutRoot"
Background="#FF0C0C0C">
<TextBlock FontSize="100"
Text="{Binding WelcomeTitle}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
TextWrapping="Wrap" />
</Grid>
</UserControl>

Просмотреть файл

@ -0,0 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Windows.Foundation;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Data;
namespace ProjectForTemplates.Win8
{
partial class MainPage
{
public MainPage()
{
InitializeComponent();
}
}
}

Просмотреть файл

@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ProjectForTemplates.Model
{
public class DataItem
{
public DataItem(string title)
{
Title = title;
}
public string Title
{
get;
private set;
}
}
}

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше