mirror of
https://github.com/modernw/App-Installer-For-Windows-8.x-Reset.git
synced 2026-04-11 17:57:19 +10:00
Try to fix bugs.
This commit is contained in:
@@ -17,15 +17,15 @@ namespace PriFileFormat
|
||||
}
|
||||
public override bool CanRead
|
||||
{
|
||||
get { return true; }
|
||||
get { return comStream != null; }
|
||||
}
|
||||
public override bool CanSeek
|
||||
{
|
||||
get { return true; }
|
||||
get { return comStream != null; }
|
||||
}
|
||||
public override bool CanWrite
|
||||
{
|
||||
get { return true; }
|
||||
get { return comStream != null; }
|
||||
}
|
||||
public override long Length
|
||||
{
|
||||
@@ -142,6 +142,10 @@ namespace PriFileFormat
|
||||
comStream.SetSize (value);
|
||||
}
|
||||
}
|
||||
~ComStreamWrapper () { comStream = null;}
|
||||
public override void Close ()
|
||||
{
|
||||
base.Close ();
|
||||
comStream = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -48,7 +48,6 @@ namespace PriFileFormat
|
||||
_dataItems?.Clear ();
|
||||
_dataItems = null;
|
||||
}
|
||||
~DataItemSection () { ClearData (); }
|
||||
}
|
||||
|
||||
public struct DataItemRef
|
||||
|
||||
@@ -1,213 +0,0 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace PriFileFormat
|
||||
{
|
||||
/// <summary>
|
||||
/// 树节点接口
|
||||
/// </summary>
|
||||
public interface ITreeNode: IDisposable, IEnumerable<ITreeNode>
|
||||
{
|
||||
string Name { get; set; }
|
||||
string Value { get; set; }
|
||||
ITreeNode Parent { get; set; }
|
||||
IList<ITreeNode> Children { get; }
|
||||
ITreeNode AddChild (string name, string value);
|
||||
IEnumerable<ITreeNode> DescendantsAndSelf ();
|
||||
ITreeNode Find (string name);
|
||||
IEnumerable<ITreeNode> FindAll (string name);
|
||||
}
|
||||
/// <summary>
|
||||
/// 树节点实现
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class TreeNode: ITreeNode
|
||||
{
|
||||
// 节点基本属性
|
||||
public string Name { get; set; }
|
||||
public string Value { get; set; }
|
||||
// 父节点引用
|
||||
[XmlIgnore]
|
||||
public TreeNode Parent { get; set; }
|
||||
ITreeNode ITreeNode.Parent
|
||||
{
|
||||
get { return Parent; }
|
||||
set { Parent = (TreeNode)value; }
|
||||
}
|
||||
// 子节点列表
|
||||
[XmlArray ("Children")]
|
||||
[XmlArrayItem ("Node")]
|
||||
public IList<TreeNode> Children { get; set; }
|
||||
IList<ITreeNode> ITreeNode.Children
|
||||
{
|
||||
get
|
||||
{
|
||||
List<ITreeNode> list = new List<ITreeNode> ();
|
||||
foreach (TreeNode node in Children)
|
||||
{
|
||||
list.Add (node);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
}
|
||||
public TreeNode ()
|
||||
{
|
||||
Name = "";
|
||||
Value = "";
|
||||
Children = new List<TreeNode> ();
|
||||
Parent = null;
|
||||
}
|
||||
public TreeNode (string name, string value)
|
||||
{
|
||||
Name = name;
|
||||
Value = value;
|
||||
Children = new List<TreeNode> ();
|
||||
Parent = null;
|
||||
}
|
||||
/// <summary>
|
||||
/// 添加子节点
|
||||
/// </summary>
|
||||
public TreeNode AddChild (string name, string value)
|
||||
{
|
||||
TreeNode child = new TreeNode (name, value);
|
||||
child.Parent = this;
|
||||
Children.Add (child);
|
||||
return child;
|
||||
}
|
||||
ITreeNode ITreeNode.AddChild (string name, string value)
|
||||
{
|
||||
return AddChild (name, value);
|
||||
}
|
||||
/// <summary>
|
||||
/// 深度优先遍历节点,包括自身
|
||||
/// </summary>
|
||||
public IEnumerable<TreeNode> DescendantsAndSelf ()
|
||||
{
|
||||
yield return this;
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
foreach (TreeNode desc in child.DescendantsAndSelf ())
|
||||
{
|
||||
yield return desc;
|
||||
}
|
||||
}
|
||||
}
|
||||
IEnumerable<ITreeNode> ITreeNode.DescendantsAndSelf ()
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找第一个匹配节点
|
||||
/// </summary>
|
||||
public TreeNode Find (string name)
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
if (n.Name == name)
|
||||
return n;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
ITreeNode ITreeNode.Find (string name)
|
||||
{
|
||||
return Find (name);
|
||||
}
|
||||
/// <summary>
|
||||
/// 查找所有匹配节点
|
||||
/// </summary>
|
||||
public IEnumerable<TreeNode> FindAll (string name)
|
||||
{
|
||||
foreach (TreeNode n in DescendantsAndSelf ())
|
||||
{
|
||||
if (n.Name == name)
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
IEnumerable<ITreeNode> ITreeNode.FindAll (string name)
|
||||
{
|
||||
foreach (TreeNode n in FindAll (name))
|
||||
{
|
||||
yield return n;
|
||||
}
|
||||
}
|
||||
#region IEnumerable<TreeNode>
|
||||
public IEnumerator<TreeNode> GetEnumerator ()
|
||||
{
|
||||
return Children.GetEnumerator ();
|
||||
}
|
||||
IEnumerator IEnumerable.GetEnumerator ()
|
||||
{
|
||||
return GetEnumerator ();
|
||||
}
|
||||
#endregion
|
||||
#region IEnumerable<ITreeNode> 显示实现
|
||||
IEnumerator<ITreeNode> IEnumerable<ITreeNode>.GetEnumerator ()
|
||||
{
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
yield return child;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region XML 序列化
|
||||
public void SaveToXml (string filePath)
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer (typeof (TreeNode));
|
||||
using (StreamWriter writer = new StreamWriter (filePath, false, System.Text.Encoding.UTF8))
|
||||
{
|
||||
serializer.Serialize (writer, this);
|
||||
}
|
||||
}
|
||||
|
||||
public static TreeNode LoadFromXml (string filePath)
|
||||
{
|
||||
XmlSerializer serializer = new XmlSerializer (typeof (TreeNode));
|
||||
using (StreamReader reader = new StreamReader (filePath, System.Text.Encoding.UTF8))
|
||||
{
|
||||
TreeNode root = (TreeNode)serializer.Deserialize (reader);
|
||||
SetParentRecursive (root, null);
|
||||
return root;
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetParentRecursive (TreeNode node, TreeNode parent)
|
||||
{
|
||||
node.Parent = parent;
|
||||
foreach (TreeNode child in node.Children)
|
||||
{
|
||||
SetParentRecursive (child, node);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
#region IDisposable
|
||||
public virtual void Dispose ()
|
||||
{
|
||||
foreach (TreeNode child in Children)
|
||||
{
|
||||
child.Dispose ();
|
||||
}
|
||||
Children.Clear ();
|
||||
Parent = null;
|
||||
Children = null;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
/// <summary>
|
||||
/// 树根节点
|
||||
/// </summary>
|
||||
[Serializable]
|
||||
public class TreeRoot: TreeNode
|
||||
{
|
||||
public TreeRoot ()
|
||||
: base ("Root", "")
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10,8 +10,8 @@ namespace PriFileFormat
|
||||
public HierarchicalSchemaVersionInfo Version { get; private set; }
|
||||
public string UniqueName { get; private set; }
|
||||
public string Name { get; private set; }
|
||||
public IReadOnlyList <ResourceMapScope> Scopes { get; private set; }
|
||||
public IReadOnlyList <ResourceMapItem> Items { get; private set; }
|
||||
public IReadOnlyList<ResourceMapScope> Scopes { get; private set; }
|
||||
public IReadOnlyList<ResourceMapItem> Items { get; private set; }
|
||||
bool extendedVersion;
|
||||
internal const string Identifier1 = "[mrm_hschema] \0";
|
||||
internal const string Identifier2 = "[mrm_hschemaex] ";
|
||||
@@ -64,7 +64,7 @@ namespace PriFileFormat
|
||||
uint unicodeDataLength = binaryReader.ReadUInt32 ();
|
||||
binaryReader.ReadUInt32 (); // meaning unknown
|
||||
if (extendedHNames) binaryReader.ReadUInt32 (); // meaning unknown
|
||||
List <ScopeAndItemInfo> scopeAndItemInfos = new List<ScopeAndItemInfo> ((int)(numScopes + numItems));
|
||||
List<ScopeAndItemInfo> scopeAndItemInfos = new List<ScopeAndItemInfo> ((int)(numScopes + numItems));
|
||||
for (int i = 0; i < numScopes + numItems; i++)
|
||||
{
|
||||
ushort parent = binaryReader.ReadUInt16 ();
|
||||
@@ -78,7 +78,7 @@ namespace PriFileFormat
|
||||
bool nameInAscii = (flags & 0x20) != 0;
|
||||
scopeAndItemInfos.Add (new ScopeAndItemInfo (parent, fullPathLength, isScope, nameInAscii, nameOffset, index));
|
||||
}
|
||||
List <ScopeExInfo> scopeExInfos = new List <ScopeExInfo> ((int)numScopes);
|
||||
List<ScopeExInfo> scopeExInfos = new List<ScopeExInfo> ((int)numScopes);
|
||||
for (int i = 0; i < numScopes; i++)
|
||||
{
|
||||
ushort scopeIndex = binaryReader.ReadUInt16 ();
|
||||
@@ -127,7 +127,7 @@ namespace PriFileFormat
|
||||
}
|
||||
for (int i = 0; i < numScopes; i++)
|
||||
{
|
||||
List <ResourceMapEntry> children = new List<ResourceMapEntry> (scopeExInfos [i].ChildCount);
|
||||
List<ResourceMapEntry> children = new List<ResourceMapEntry> (scopeExInfos [i].ChildCount);
|
||||
for (int j = 0; j < scopeExInfos [i].ChildCount; j++)
|
||||
{
|
||||
ScopeAndItemInfo saiInfo = scopeAndItemInfos [scopeExInfos [i].FirstChildIndex + j];
|
||||
@@ -172,15 +172,6 @@ namespace PriFileFormat
|
||||
FirstChildIndex = firstChildIndex;
|
||||
}
|
||||
}
|
||||
~HierarchicalSchemaSection ()
|
||||
{
|
||||
return;
|
||||
Version = null;
|
||||
foreach (var item in Items) { item.Parent = null; }
|
||||
foreach (var scope in Scopes) { scope.Parent = null; }
|
||||
Scopes = null;
|
||||
Items = null;
|
||||
}
|
||||
// Checksum computation is buggy for some files
|
||||
|
||||
//private uint ComputeHierarchicalSchemaVersionInfoChecksum()
|
||||
@@ -267,21 +258,19 @@ namespace PriFileFormat
|
||||
return fullName;
|
||||
}
|
||||
}
|
||||
~ResourceMapEntry () { Parent = null; }
|
||||
}
|
||||
public class ResourceMapScope: ResourceMapEntry
|
||||
{
|
||||
internal ResourceMapScope (ushort index, ResourceMapScope parent, string name) : base (index, parent, name) {}
|
||||
public IReadOnlyList <ResourceMapEntry> Children { get; internal set; }
|
||||
internal ResourceMapScope (ushort index, ResourceMapScope parent, string name) : base (index, parent, name) { }
|
||||
public IReadOnlyList<ResourceMapEntry> Children { get; internal set; }
|
||||
public override string ToString ()
|
||||
{
|
||||
return $"Scope {Index} {FullName} ({Children.Count} children)";
|
||||
}
|
||||
~ResourceMapScope () { Children = null; }
|
||||
}
|
||||
public class ResourceMapItem: ResourceMapEntry
|
||||
{
|
||||
internal ResourceMapItem (ushort index, ResourceMapScope parent, string name) : base (index, parent, name) {}
|
||||
internal ResourceMapItem (ushort index, ResourceMapScope parent, string name) : base (index, parent, name) { }
|
||||
public override string ToString ()
|
||||
{
|
||||
return $"Item {Index} {FullName}";
|
||||
|
||||
@@ -46,15 +46,6 @@ namespace PriFileFormat
|
||||
DataItemSections = dataItemSections;
|
||||
return true;
|
||||
}
|
||||
~PriDescriptorSection ()
|
||||
{
|
||||
HierarchicalSchemaSections = null;
|
||||
DecisionInfoSections = null;
|
||||
ResourceMapSections = null;
|
||||
ReferencedFileSections = null;
|
||||
DataItemSections = null;
|
||||
PrimaryResourceMapSection = null;
|
||||
}
|
||||
}
|
||||
[Flags]
|
||||
public enum PriDescriptorFlags: ushort
|
||||
|
||||
@@ -6,14 +6,12 @@ using System;
|
||||
|
||||
namespace PriFileFormat
|
||||
{
|
||||
public class PriFile: IDisposable
|
||||
public class PriFile
|
||||
{
|
||||
public string Version { get; private set; }
|
||||
public uint TotalFileSize { get; private set; }
|
||||
public IReadOnlyList <TocEntry> TableOfContents { get; private set; }
|
||||
public IReadOnlyList <Section> Sections { get; private set; }
|
||||
private bool _disposed = false;
|
||||
private Stream _internalStream; // 跟踪内部流
|
||||
private PriFile ()
|
||||
{
|
||||
}
|
||||
@@ -37,7 +35,6 @@ namespace PriFileFormat
|
||||
|
||||
private void ParseInternal (Stream stream, bool ownStream)
|
||||
{
|
||||
if (ownStream) { _internalStream = stream; }
|
||||
using (BinaryReader binaryReader = new BinaryReader (stream, Encoding.ASCII, true))
|
||||
{
|
||||
long fileStartOffset = binaryReader.BaseStream.Position;
|
||||
@@ -112,48 +109,6 @@ namespace PriFileFormat
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose ()
|
||||
{
|
||||
Dispose (true);
|
||||
GC.SuppressFinalize (this);
|
||||
}
|
||||
protected virtual void Dispose (bool disposing)
|
||||
{
|
||||
if (_disposed) return;
|
||||
if (disposing)
|
||||
{
|
||||
// 释放托管资源
|
||||
if (_internalStream != null)
|
||||
{
|
||||
_internalStream.Dispose ();
|
||||
_internalStream = null;
|
||||
}
|
||||
|
||||
// 释放 section 内容
|
||||
if (Sections != null)
|
||||
{
|
||||
foreach (var section in Sections)
|
||||
{
|
||||
var unknown = section as UnknownSection;
|
||||
if (unknown != null)
|
||||
unknown.ClearContent ();
|
||||
|
||||
var dataSection = section as DataItemSection;
|
||||
if (dataSection != null)
|
||||
dataSection.ClearData ();
|
||||
}
|
||||
Sections = null;
|
||||
}
|
||||
}
|
||||
|
||||
_disposed = true;
|
||||
}
|
||||
|
||||
~PriFile ()
|
||||
{
|
||||
Dispose (false);
|
||||
}
|
||||
|
||||
PriDescriptorSection priDescriptorSection;
|
||||
|
||||
public PriDescriptorSection PriDescriptorSection
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
<Compile Include="ByteSpan.cs" />
|
||||
<Compile Include="ComStreamWrapper.cs" />
|
||||
<Compile Include="DataItemSection.cs" />
|
||||
<Compile Include="DataTree.cs" />
|
||||
<Compile Include="DecisionInfoSection.cs" />
|
||||
<Compile Include="HierarchicalSchemaSection.cs" />
|
||||
<Compile Include="PriDescriptorSection.cs" />
|
||||
|
||||
@@ -121,11 +121,6 @@ namespace PriFileFormat
|
||||
FileNameOffset = fileNameOffset;
|
||||
}
|
||||
}
|
||||
~ReferencedFileSection ()
|
||||
{
|
||||
foreach (var file in ReferencedFiles) { file.Parent = null; }
|
||||
ReferencedFiles = null;
|
||||
}
|
||||
}
|
||||
public class ReferencedEntry
|
||||
{
|
||||
@@ -150,13 +145,11 @@ namespace PriFileFormat
|
||||
return fullName;
|
||||
}
|
||||
}
|
||||
~ReferencedEntry () { Parent = null; }
|
||||
}
|
||||
public class ReferencedFolder: ReferencedEntry
|
||||
{
|
||||
internal ReferencedFolder (ReferencedFolder parent, string name) : base (parent, name) {}
|
||||
public IReadOnlyList<ReferencedEntry> Children { get; internal set; }
|
||||
~ReferencedFolder () { Children = null; }
|
||||
}
|
||||
public class ReferencedFile: ReferencedEntry
|
||||
{
|
||||
|
||||
@@ -296,11 +296,6 @@ namespace PriFileFormat
|
||||
DataOffset = dataOffset;
|
||||
}
|
||||
}
|
||||
~ResourceMapSection ()
|
||||
{
|
||||
HierarchicalSchemaReference = null;
|
||||
CandidateSets = null;
|
||||
}
|
||||
}
|
||||
public enum ResourceValueType
|
||||
{
|
||||
@@ -323,10 +318,6 @@ namespace PriFileFormat
|
||||
DecisionIndex = decisionIndex;
|
||||
Candidates = candidates;
|
||||
}
|
||||
~CandidateSet ()
|
||||
{
|
||||
Candidates = null;
|
||||
}
|
||||
}
|
||||
|
||||
public class Candidate
|
||||
@@ -352,12 +343,6 @@ namespace PriFileFormat
|
||||
DataItem = null;
|
||||
Data = data;
|
||||
}
|
||||
~Candidate ()
|
||||
{
|
||||
SourceFile = null;
|
||||
DataItem = null;
|
||||
Data = null;
|
||||
}
|
||||
}
|
||||
public class HierarchicalSchemaReference
|
||||
{
|
||||
@@ -372,10 +357,6 @@ namespace PriFileFormat
|
||||
Unknown2 = unknown2;
|
||||
UniqueName = uniqueName;
|
||||
}
|
||||
~HierarchicalSchemaReference ()
|
||||
{
|
||||
VersionInfo = null;
|
||||
}
|
||||
}
|
||||
public struct ResourceMapItemRef
|
||||
{
|
||||
|
||||
@@ -148,12 +148,6 @@ namespace PriFileFormat
|
||||
|
||||
return true;
|
||||
}
|
||||
~ReverseMapSection ()
|
||||
{
|
||||
Mapping = null;
|
||||
Scopes = null;
|
||||
Items = null;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -81,9 +81,5 @@ namespace PriFileFormat
|
||||
}
|
||||
}
|
||||
|
||||
~Section ()
|
||||
{
|
||||
PriFile = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +71,10 @@ namespace PriFileFormat
|
||||
throw new NotSupportedException ();
|
||||
}
|
||||
|
||||
~SubStream () { baseStream = null; }
|
||||
public override void Close ()
|
||||
{
|
||||
base.Close ();
|
||||
baseStream = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,5 @@ namespace PriFileFormat
|
||||
{
|
||||
SectionContent = null;
|
||||
}
|
||||
~UnknownSection () { ClearContent (); }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/></startup></configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6"/>
|
||||
</startup>
|
||||
</configuration>
|
||||
|
||||
Binary file not shown.
205
priformatcli/priformatcli - 副本.vcxproj
Normal file
205
priformatcli/priformatcli - 副本.vcxproj
Normal file
@@ -0,0 +1,205 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{33D91B58-1981-4A3C-B4D1-86EE406CDE12}</ProjectGuid>
|
||||
<Keyword>Win32Proj</Keyword>
|
||||
<RootNamespace>priformatcli</RootNamespace>
|
||||
<WindowsTargetPlatformVersion>8.1</WindowsTargetPlatformVersion>
|
||||
<TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<CharacterSet>Unicode</CharacterSet>
|
||||
<CLRSupport>true</CLRSupport>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="PropertySheets">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<LinkIncremental>true</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<LinkIncremental>false</LinkIncremental>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<PrecompiledHeader>
|
||||
</PrecompiledHeader>
|
||||
<Optimization>MaxSpeed</Optimization>
|
||||
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;PRIFORMATCLI_EXPORTS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<SDLCheck>true</SDLCheck>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Windows</SubSystem>
|
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||
<OptimizeReferences>true</OptimizeReferences>
|
||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||
<AdditionalLibraryDirectories>
|
||||
</AdditionalLibraryDirectories>
|
||||
<AdditionalDependencies>shlwapi.lib;version.lib;dwmapi.lib;winhttp.lib;Psapi.lib;advapi32.lib;gdi32.lib;comdlg32.lib;shell32.lib;ole32.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<Text Include="ReadMe.txt" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="localeex.h" />
|
||||
<ClInclude Include="mpstr.h" />
|
||||
<ClInclude Include="nstring.h" />
|
||||
<ClInclude Include="prifile.h" />
|
||||
<ClInclude Include="priformatcli.h" />
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="stdafx.h" />
|
||||
<ClInclude Include="strcmp.h" />
|
||||
<ClInclude Include="syncutil.h" />
|
||||
<ClInclude Include="targetver.h" />
|
||||
<ClInclude Include="themeinfo.h" />
|
||||
<ClInclude Include="typestrans.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="dllmain.cpp">
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
</PrecompiledHeader>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</CompileAsManaged>
|
||||
<CompileAsManaged Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">false</CompileAsManaged>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="priformatcli.cpp" />
|
||||
<ClCompile Include="stdafx.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="priformatcli.rc" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PriFileFormat\PriFile.csproj">
|
||||
<Project>{ef4012d4-ef08-499c-b803-177739350b2d}</Project>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
Reference in New Issue
Block a user