migrate to new UpateInstaller AddOn system
This commit is contained in:
@@ -1,19 +1,28 @@
|
|||||||
using global::System.IO;
|
using System.IO;
|
||||||
using global::Pilz.Updating.UpdateInstaller;
|
using Pilz.Updating.UpdateInstaller.Lib;
|
||||||
|
using Pilz.Plugins;
|
||||||
|
|
||||||
namespace UpdateInstaller
|
namespace UpdateInstaller
|
||||||
{
|
{
|
||||||
public static class AddOn
|
public class AddOn : IPlugin
|
||||||
{
|
{
|
||||||
public static void Main(UpdateInstallerConfig config, bool isAfterCopyFiles)
|
public string Name => "SM64 ROM Manager UpdateInstaller AddOn";
|
||||||
{
|
|
||||||
if (!isAfterCopyFiles /*&& config.NewApplicationVersion is null && config.CurrentApplicationVersion is null*/)
|
|
||||||
{
|
|
||||||
Directory.Delete(Path.Combine(config.HostApplicationPath, @"Data\Importer Presets"), true);
|
|
||||||
|
|
||||||
Directory.Delete(Path.Combine(config.HostApplicationPath, @"Data\Tweaks\Reviewed"), true);
|
public AddOn(Pilz.Updating.UpdateInstaller.Lib.UpdateInstaller installer)
|
||||||
|
{
|
||||||
|
installer.OnStep += Installer_OnStep;
|
||||||
|
}
|
||||||
|
|
||||||
var pCustomObjectDatabase = Path.Combine(config.HostApplicationPath, @"Data\Custom Objects\Reviewed");
|
private void Installer_OnStep(object sender, UpdateInstallerStepEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.Step == UpdateInstallerStep.CopyFiles && e.State == UpdateInstallerStepState.PostEvent
|
||||||
|
/*&& config.NewApplicationVersion is null && config.CurrentApplicationVersion is null*/)
|
||||||
|
{
|
||||||
|
Directory.Delete(Path.Combine(e.UpdateInstaller.Configuration.HostApplicationPath, @"Data\Importer Presets"), true);
|
||||||
|
|
||||||
|
Directory.Delete(Path.Combine(e.UpdateInstaller.Configuration.HostApplicationPath, @"Data\Tweaks\Reviewed"), true);
|
||||||
|
|
||||||
|
var pCustomObjectDatabase = Path.Combine(e.UpdateInstaller.Configuration.HostApplicationPath, @"Data\Custom Objects\Reviewed");
|
||||||
if (Directory.Exists(pCustomObjectDatabase))
|
if (Directory.Exists(pCustomObjectDatabase))
|
||||||
Directory.Delete(pCustomObjectDatabase, true);
|
Directory.Delete(pCustomObjectDatabase, true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +0,0 @@
|
|||||||
// ------------------------------------------------------------------------------
|
|
||||||
// <auto-generated>
|
|
||||||
// This code was generated by a tool.
|
|
||||||
// Runtime Version:4.0.30319.42000
|
|
||||||
//
|
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
|
||||||
// the code is regenerated.
|
|
||||||
// </auto-generated>
|
|
||||||
// ------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
||||||
<MySubMain>false</MySubMain>
|
|
||||||
<SingleInstance>false</SingleInstance>
|
|
||||||
<ShutdownMode>0</ShutdownMode>
|
|
||||||
<EnableVisualStyles>true</EnableVisualStyles>
|
|
||||||
<AuthenticationMode>0</AuthenticationMode>
|
|
||||||
<ApplicationType>1</ApplicationType>
|
|
||||||
<SaveMySettingsOnExit>true</SaveMySettingsOnExit>
|
|
||||||
</MyApplicationData>
|
|
||||||
@@ -1,192 +0,0 @@
|
|||||||
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using Microsoft.VisualBasic;
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia *//* TODO ERROR: Skipped DefineDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
namespace SM64RomManager.UpdateInstallerAddOn.My
|
|
||||||
{
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped ElifDirectiveTrivia */
|
|
||||||
internal partial class MyApplication : Microsoft.VisualBasic.ApplicationServices.ApplicationBase
|
|
||||||
{
|
|
||||||
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
internal partial class MyComputer : Microsoft.VisualBasic.Devices.Computer
|
|
||||||
{
|
|
||||||
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
[DebuggerHidden()]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public MyComputer() : base()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
[HideModuleName()]
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("MyTemplate", "11.0.0.0")]
|
|
||||||
internal static class MyProject
|
|
||||||
{
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.ComponentModel.Design.HelpKeyword("My.Computer")]
|
|
||||||
internal static MyComputer Computer
|
|
||||||
{
|
|
||||||
[DebuggerHidden()]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_ComputerObjectProvider.GetInstance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly static ThreadSafeObjectProvider<MyComputer> m_ComputerObjectProvider = new ThreadSafeObjectProvider<MyComputer>();
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.ComponentModel.Design.HelpKeyword("My.Application")]
|
|
||||||
internal static MyApplication Application
|
|
||||||
{
|
|
||||||
[DebuggerHidden()]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_AppObjectProvider.GetInstance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly static ThreadSafeObjectProvider<MyApplication> m_AppObjectProvider = new ThreadSafeObjectProvider<MyApplication>();
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.ComponentModel.Design.HelpKeyword("My.User")]
|
|
||||||
internal static Microsoft.VisualBasic.ApplicationServices.User User
|
|
||||||
{
|
|
||||||
[DebuggerHidden()]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_UserObjectProvider.GetInstance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly static ThreadSafeObjectProvider<Microsoft.VisualBasic.ApplicationServices.User> m_UserObjectProvider = new ThreadSafeObjectProvider<Microsoft.VisualBasic.ApplicationServices.User>();
|
|
||||||
/* TODO ERROR: Skipped ElifDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[System.ComponentModel.Design.HelpKeyword("My.WebServices")]
|
|
||||||
internal static MyWebServices WebServices
|
|
||||||
{
|
|
||||||
[DebuggerHidden()]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
return m_MyWebServicesObjectProvider.GetInstance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[MyGroupCollection("System.Web.Services.Protocols.SoapHttpClientProtocol", "Create__Instance__", "Dispose__Instance__", "")]
|
|
||||||
internal sealed class MyWebServices
|
|
||||||
{
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[DebuggerHidden()]
|
|
||||||
public override bool Equals(object o)
|
|
||||||
{
|
|
||||||
return base.Equals(o);
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[DebuggerHidden()]
|
|
||||||
public override int GetHashCode()
|
|
||||||
{
|
|
||||||
return base.GetHashCode();
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[DebuggerHidden()]
|
|
||||||
internal new Type GetType()
|
|
||||||
{
|
|
||||||
return typeof(MyWebServices);
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[DebuggerHidden()]
|
|
||||||
public override string ToString()
|
|
||||||
{
|
|
||||||
return base.ToString();
|
|
||||||
}
|
|
||||||
|
|
||||||
[DebuggerHidden()]
|
|
||||||
private static T Create__Instance__<T>(T instance) where T : new()
|
|
||||||
{
|
|
||||||
if (instance == null)
|
|
||||||
{
|
|
||||||
return new T();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[DebuggerHidden()]
|
|
||||||
private void Dispose__Instance__<T>(ref T instance)
|
|
||||||
{
|
|
||||||
instance = default;
|
|
||||||
}
|
|
||||||
|
|
||||||
[DebuggerHidden()]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public MyWebServices() : base()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private readonly static ThreadSafeObjectProvider<MyWebServices> m_MyWebServicesObjectProvider = new ThreadSafeObjectProvider<MyWebServices>();
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[System.Runtime.InteropServices.ComVisible(false)]
|
|
||||||
internal sealed class ThreadSafeObjectProvider<T> where T : new()
|
|
||||||
{
|
|
||||||
internal T GetInstance
|
|
||||||
{
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
[DebuggerHidden()]
|
|
||||||
get
|
|
||||||
{
|
|
||||||
var Value = m_Context.Value;
|
|
||||||
if (Value == null)
|
|
||||||
{
|
|
||||||
Value = new T();
|
|
||||||
m_Context.Value = Value;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Value;
|
|
||||||
}
|
|
||||||
/* TODO ERROR: Skipped ElseDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
}
|
|
||||||
|
|
||||||
[DebuggerHidden()]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public ThreadSafeObjectProvider() : base()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/* TODO ERROR: Skipped IfDirectiveTrivia */
|
|
||||||
private readonly Microsoft.VisualBasic.MyServices.Internal.ContextValue<T> m_Context = new Microsoft.VisualBasic.MyServices.Internal.ContextValue<T>();
|
|
||||||
/* TODO ERROR: Skipped ElseDirectiveTrivia *//* TODO ERROR: Skipped DisabledTextTrivia *//* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* TODO ERROR: Skipped EndIfDirectiveTrivia */
|
|
||||||
@@ -1,253 +0,0 @@
|
|||||||
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
// See Compiler::LoadXmlSolutionExtension
|
|
||||||
using System.Collections;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using System.Data;
|
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Linq;
|
|
||||||
using System.Xml.Linq;
|
|
||||||
using Microsoft.VisualBasic;
|
|
||||||
using Microsoft.VisualBasic.CompilerServices;
|
|
||||||
|
|
||||||
namespace SM64RomManager.UpdateInstallerAddOn.My
|
|
||||||
{
|
|
||||||
[Embedded()]
|
|
||||||
[DebuggerNonUserCode()]
|
|
||||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
internal sealed class InternalXmlHelper
|
|
||||||
{
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
private InternalXmlHelper()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string get_Value(IEnumerable<XElement> source)
|
|
||||||
{
|
|
||||||
foreach (XElement item in source)
|
|
||||||
return item.Value;
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void set_Value(IEnumerable<XElement> source, string value)
|
|
||||||
{
|
|
||||||
foreach (XElement item in source)
|
|
||||||
{
|
|
||||||
item.Value = value;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string get_AttributeValue(IEnumerable<XElement> source, XName name)
|
|
||||||
{
|
|
||||||
foreach (XElement item in source)
|
|
||||||
return Conversions.ToString(item.Attribute(name));
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void set_AttributeValue(IEnumerable<XElement> source, XName name, string value)
|
|
||||||
{
|
|
||||||
foreach (XElement item in source)
|
|
||||||
{
|
|
||||||
item.SetAttributeValue(name, value);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string get_AttributeValue(XElement source, XName name)
|
|
||||||
{
|
|
||||||
return Conversions.ToString(source.Attribute(name));
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void set_AttributeValue(XElement source, XName name, string value)
|
|
||||||
{
|
|
||||||
source.SetAttributeValue(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public static XAttribute CreateAttribute(XName name, object value)
|
|
||||||
{
|
|
||||||
if (value is null)
|
|
||||||
{
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new XAttribute(name, value);
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public static XAttribute CreateNamespaceAttribute(XName name, XNamespace ns)
|
|
||||||
{
|
|
||||||
var a = new XAttribute(name, ns.NamespaceName);
|
|
||||||
a.AddAnnotation(ns);
|
|
||||||
return a;
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public static object RemoveNamespaceAttributes(string[] inScopePrefixes, XNamespace[] inScopeNs, List<XAttribute> attributes, object obj)
|
|
||||||
{
|
|
||||||
if (obj is object)
|
|
||||||
{
|
|
||||||
XElement elem = obj as XElement;
|
|
||||||
if (elem is object)
|
|
||||||
{
|
|
||||||
return RemoveNamespaceAttributes(inScopePrefixes, inScopeNs, attributes, elem);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
IEnumerable elems = obj as IEnumerable;
|
|
||||||
if (elems is object)
|
|
||||||
{
|
|
||||||
return RemoveNamespaceAttributes(inScopePrefixes, inScopeNs, attributes, elems);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public static IEnumerable RemoveNamespaceAttributes(string[] inScopePrefixes, XNamespace[] inScopeNs, List<XAttribute> attributes, IEnumerable obj)
|
|
||||||
{
|
|
||||||
if (obj is object)
|
|
||||||
{
|
|
||||||
IEnumerable<XElement> elems = obj as IEnumerable<XElement>;
|
|
||||||
if (elems is object)
|
|
||||||
{
|
|
||||||
return elems.Select(new RemoveNamespaceAttributesClosure(inScopePrefixes, inScopeNs, attributes).ProcessXElement);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return obj.Cast<object>().Select(new RemoveNamespaceAttributesClosure(inScopePrefixes, inScopeNs, attributes).ProcessObject);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
|
|
||||||
[DebuggerNonUserCode()]
|
|
||||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
private sealed class RemoveNamespaceAttributesClosure
|
|
||||||
{
|
|
||||||
private readonly string[] m_inScopePrefixes;
|
|
||||||
private readonly XNamespace[] m_inScopeNs;
|
|
||||||
private readonly List<XAttribute> m_attributes;
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
internal RemoveNamespaceAttributesClosure(string[] inScopePrefixes, XNamespace[] inScopeNs, List<XAttribute> attributes)
|
|
||||||
{
|
|
||||||
m_inScopePrefixes = inScopePrefixes;
|
|
||||||
m_inScopeNs = inScopeNs;
|
|
||||||
m_attributes = attributes;
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
internal XElement ProcessXElement(XElement elem)
|
|
||||||
{
|
|
||||||
return RemoveNamespaceAttributes(m_inScopePrefixes, m_inScopeNs, m_attributes, elem);
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
internal object ProcessObject(object obj)
|
|
||||||
{
|
|
||||||
XElement elem = obj as XElement;
|
|
||||||
if (elem is object)
|
|
||||||
{
|
|
||||||
return RemoveNamespaceAttributes(m_inScopePrefixes, m_inScopeNs, m_attributes, elem);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return obj;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
public static XElement RemoveNamespaceAttributes(string[] inScopePrefixes, XNamespace[] inScopeNs, List<XAttribute> attributes, XElement e)
|
|
||||||
{
|
|
||||||
if (e is object)
|
|
||||||
{
|
|
||||||
var a = e.FirstAttribute;
|
|
||||||
while (a is object)
|
|
||||||
{
|
|
||||||
var nextA = a.NextAttribute;
|
|
||||||
if (a.IsNamespaceDeclaration)
|
|
||||||
{
|
|
||||||
var ns = a.Annotation<XNamespace>();
|
|
||||||
string prefix = a.Name.LocalName;
|
|
||||||
if (ns is object)
|
|
||||||
{
|
|
||||||
if (inScopePrefixes is object && inScopeNs is object)
|
|
||||||
{
|
|
||||||
int lastIndex = inScopePrefixes.Length - 1;
|
|
||||||
for (int i = 0, loopTo = lastIndex; i <= loopTo; i++)
|
|
||||||
{
|
|
||||||
string currentInScopePrefix = inScopePrefixes[i];
|
|
||||||
var currentInScopeNs = inScopeNs[i];
|
|
||||||
if (prefix.Equals(currentInScopePrefix))
|
|
||||||
{
|
|
||||||
if (ns == currentInScopeNs)
|
|
||||||
{
|
|
||||||
// prefix and namespace match. Remove the unneeded ns attribute
|
|
||||||
a.Remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
// prefix is in scope but refers to something else. Leave the ns attribute.
|
|
||||||
a = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (a is object)
|
|
||||||
{
|
|
||||||
// Prefix is not in scope
|
|
||||||
// Now check whether it's going to be in scope because it is in the attributes list
|
|
||||||
|
|
||||||
if (attributes is object)
|
|
||||||
{
|
|
||||||
int lastIndex = attributes.Count - 1;
|
|
||||||
for (int i = 0, loopTo1 = lastIndex; i <= loopTo1; i++)
|
|
||||||
{
|
|
||||||
var currentA = attributes[i];
|
|
||||||
string currentInScopePrefix = currentA.Name.LocalName;
|
|
||||||
var currentInScopeNs = currentA.Annotation<XNamespace>();
|
|
||||||
if (currentInScopeNs is object)
|
|
||||||
{
|
|
||||||
if (prefix.Equals(currentInScopePrefix))
|
|
||||||
{
|
|
||||||
if (ns == currentInScopeNs)
|
|
||||||
{
|
|
||||||
// prefix and namespace match. Remove the unneeded ns attribute
|
|
||||||
a.Remove();
|
|
||||||
}
|
|
||||||
|
|
||||||
// prefix is in scope but refers to something else. Leave the ns attribute.
|
|
||||||
a = null;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (a is object)
|
|
||||||
{
|
|
||||||
// Prefix is definitely not in scope
|
|
||||||
a.Remove();
|
|
||||||
// namespace is not defined either. Add this attributes list
|
|
||||||
attributes.Add(a);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
a = nextA;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return e;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
||||||
|
|
||||||
using System;
|
|
||||||
|
|
||||||
namespace Microsoft.VisualBasic
|
|
||||||
{
|
|
||||||
[Embedded()]
|
|
||||||
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Module | AttributeTargets.Assembly, Inherited = false)]
|
|
||||||
[System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)]
|
|
||||||
[System.Runtime.CompilerServices.CompilerGenerated()]
|
|
||||||
internal sealed class Embedded : Attribute
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,8 +1,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<RootNamespace>SM64RomManager.UpdateInstallerAddOn</RootNamespace>
|
<RootNamespace>SM64RomManager.UpdateInstallerAddOn</RootNamespace>
|
||||||
<MyType>Windows</MyType>
|
<TargetFramework>net8.0-windows</TargetFramework>
|
||||||
<TargetFramework>net6.0-windows</TargetFramework>
|
|
||||||
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
|
<DefaultItemExcludes>$(DefaultItemExcludes);$(ProjectDir)**\*.vb</DefaultItemExcludes>
|
||||||
<LangVersion>latest</LangVersion>
|
<LangVersion>latest</LangVersion>
|
||||||
<AssemblyTitle>SM64RomManager.UpdateInstallerAddOn</AssemblyTitle>
|
<AssemblyTitle>SM64RomManager.UpdateInstallerAddOn</AssemblyTitle>
|
||||||
@@ -43,10 +42,6 @@
|
|||||||
<Import Include="System.Threading.Tasks" />
|
<Import Include="System.Threading.Tasks" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Compile Update="My Project\Application.Designer.cs">
|
|
||||||
<AutoGen>True</AutoGen>
|
|
||||||
<DependentUpon>Application.myapp</DependentUpon>
|
|
||||||
</Compile>
|
|
||||||
<Compile Update="Properties\Settings.Designer.cs">
|
<Compile Update="Properties\Settings.Designer.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DependentUpon>Settings.settings</DependentUpon>
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
@@ -54,10 +49,6 @@
|
|||||||
</Compile>
|
</Compile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="My Project\Application.myapp">
|
|
||||||
<Generator>MyApplicationCodeGenerator</Generator>
|
|
||||||
<LastGenOutput>Application.Designer.cs</LastGenOutput>
|
|
||||||
</None>
|
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
<CustomToolNamespace>namespace SM64RomManager.UpdateInstallerAddOn.My</CustomToolNamespace>
|
<CustomToolNamespace>namespace SM64RomManager.UpdateInstallerAddOn.My</CustomToolNamespace>
|
||||||
@@ -65,6 +56,8 @@
|
|||||||
</None>
|
</None>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Pilz.Updating" Version="1.2023.1120.1825" />
|
<PackageReference Include="Pilz.Plugins" Version="2.0.0" />
|
||||||
|
<PackageReference Include="Pilz.Updating" Version="2.0.0" />
|
||||||
|
<PackageReference Include="Pilz.Updating.UpdateInstaller.Lib" Version="2.0.0" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
Reference in New Issue
Block a user