Compare commits
8 Commits
hotfix/Fix
...
master
Author | SHA1 | Date | |
---|---|---|---|
7158a9340a | |||
fffafcd89e | |||
7909f111cb | |||
aaab532414 | |||
eaa03ff828 | |||
28cdba0a3d | |||
47e868d710 | |||
fb282b019d |
@ -3,7 +3,9 @@ Microsoft Visual Studio Solution File, Format Version 12.00
|
|||||||
# Visual Studio Version 17
|
# Visual Studio Version 17
|
||||||
VisualStudioVersion = 17.6.33815.320
|
VisualStudioVersion = 17.6.33815.320
|
||||||
MinimumVisualStudioVersion = 10.0.40219.1
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FireWalletLite", "FireWalletLite\FireWalletLite.csproj", "{A375882A-CB5E-4268-A6CC-106B270EE200}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FireWalletLite", "FireWalletLite\FireWalletLite.csproj", "{A375882A-CB5E-4268-A6CC-106B270EE200}"
|
||||||
|
EndProject
|
||||||
|
Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Installer", "Installer\Installer.vdproj", "{6D6023A9-C523-4DC2-9529-13B03B16A116}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@ -15,6 +17,8 @@ Global
|
|||||||
{A375882A-CB5E-4268-A6CC-106B270EE200}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{A375882A-CB5E-4268-A6CC-106B270EE200}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{A375882A-CB5E-4268-A6CC-106B270EE200}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{A375882A-CB5E-4268-A6CC-106B270EE200}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{A375882A-CB5E-4268-A6CC-106B270EE200}.Release|Any CPU.Build.0 = Release|Any CPU
|
{A375882A-CB5E-4268-A6CC-106B270EE200}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{6D6023A9-C523-4DC2-9529-13B03B16A116}.Debug|Any CPU.ActiveCfg = Debug
|
||||||
|
{6D6023A9-C523-4DC2-9529-13B03B16A116}.Release|Any CPU.ActiveCfg = Release
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
@ -6,6 +6,13 @@ namespace FireWalletLite;
|
|||||||
|
|
||||||
public partial class Loader : Form
|
public partial class Loader : Form
|
||||||
{
|
{
|
||||||
|
#region Constants
|
||||||
|
|
||||||
|
private readonly MainForm mainForm = new();
|
||||||
|
private readonly bool hideScreen = true; // Hide screen or not (for debug)
|
||||||
|
private readonly Process HSDProcess;
|
||||||
|
|
||||||
|
#endregion
|
||||||
public Loader()
|
public Loader()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -62,14 +69,6 @@ public partial class Loader : Form
|
|||||||
mainForm.Show();
|
mainForm.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Constants
|
|
||||||
|
|
||||||
private readonly MainForm mainForm = new();
|
|
||||||
private readonly bool hideScreen = true;
|
|
||||||
private readonly Process HSDProcess;
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Git
|
#region Git
|
||||||
|
|
||||||
public void CloneRepository(string repositoryUrl, string destinationPath)
|
public void CloneRepository(string repositoryUrl, string destinationPath)
|
||||||
@ -184,30 +183,36 @@ public partial class Loader : Form
|
|||||||
mainForm.AddLog(ex.Message);
|
mainForm.AddLog(ex.Message);
|
||||||
if (ex.Message.Contains("to start process 'git'"))
|
if (ex.Message.Contains("to start process 'git'"))
|
||||||
{
|
{
|
||||||
var notifyForm = new NotifyForm("Git needs to be installed\nCheck logs for more details");
|
var notifyForm = new NotifyForm("Git is not installed\nPlease install it to install HSD dependencies",
|
||||||
|
"Install", "https://git-scm.com/download/win");
|
||||||
notifyForm.ShowDialog();
|
notifyForm.ShowDialog();
|
||||||
notifyForm.Dispose();
|
notifyForm.Dispose();
|
||||||
|
Environment.Exit(21);
|
||||||
}
|
}
|
||||||
else if (ex.Message.Contains("to start process 'node'"))
|
else if (ex.Message.Contains("to start process 'node'"))
|
||||||
{
|
{
|
||||||
var notifyForm = new NotifyForm("Node needs to be installed\nCheck logs for more details");
|
var notifyForm = new NotifyForm("Node is not installed\nPlease install it to install HSD dependencies",
|
||||||
|
"Install", "https://nodejs.org/en/download");
|
||||||
notifyForm.ShowDialog();
|
notifyForm.ShowDialog();
|
||||||
notifyForm.Dispose();
|
notifyForm.Dispose();
|
||||||
|
Environment.Exit(22);
|
||||||
}
|
}
|
||||||
else if (ex.Message.Contains("to start process 'npm'"))
|
else if (ex.Message.Contains("to start process 'npm'"))
|
||||||
{
|
{
|
||||||
var notifyForm = new NotifyForm("NPM needs to be installed\nCheck logs for more details");
|
var notifyForm = new NotifyForm("NPM is not installed\nPlease install it to install HSD dependencies",
|
||||||
|
"Install", "https://docs.npmjs.com/downloading-and-installing-node-js-and-npm");
|
||||||
notifyForm.ShowDialog();
|
notifyForm.ShowDialog();
|
||||||
notifyForm.Dispose();
|
notifyForm.Dispose();
|
||||||
|
Environment.Exit(23);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
var notifyForm = new NotifyForm("Git/NPM Install FAILED\nCheck logs for more details");
|
var notifyForm = new NotifyForm("Git/NPM Install FAILED\nCheck logs for more details");
|
||||||
notifyForm.ShowDialog();
|
notifyForm.ShowDialog();
|
||||||
notifyForm.Dispose();
|
notifyForm.Dispose();
|
||||||
|
Environment.Exit(24);
|
||||||
}
|
}
|
||||||
|
|
||||||
Environment.Exit(24);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -8,6 +8,48 @@ public partial class MainForm : Form
|
|||||||
{
|
{
|
||||||
private bool testedLogin;
|
private bool testedLogin;
|
||||||
|
|
||||||
|
#region Constants and Config
|
||||||
|
|
||||||
|
// Directory to store files including logs, theme and hsd node
|
||||||
|
public string dir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\"
|
||||||
|
+ Application.ProductName.Trim().Replace(" ", "") + "\\";
|
||||||
|
|
||||||
|
// How many days to check for domain exiries. If domain will expire in less than this, prompt user to renew.
|
||||||
|
public int daysToExpire = 90;
|
||||||
|
|
||||||
|
// Explorer URLs for transactions and domains
|
||||||
|
public string TXExplorer = "https://niami.io/tx/";
|
||||||
|
public string DomainExplorer = "https://niami.io/domain/";
|
||||||
|
|
||||||
|
// Links to show in help dropdown menu
|
||||||
|
public Dictionary<string, string> HelpLinks = new()
|
||||||
|
{
|
||||||
|
{ "Discord", "https://l.woodburn.au/discord" },
|
||||||
|
{ "Separator", "" },
|
||||||
|
{ "Github", "https://github.com/nathanwoodburn/FireWalletLite" }
|
||||||
|
};
|
||||||
|
|
||||||
|
// Min Confirmations for transactions to be considered valid
|
||||||
|
public int MinConfirmations = 1;
|
||||||
|
|
||||||
|
public Dictionary<string, string> Theme { get; set; } = new()
|
||||||
|
{
|
||||||
|
{ "background", "#000000" },
|
||||||
|
{ "foreground", "#8e05c2"},
|
||||||
|
{ "background-alt", "#3e065f"},
|
||||||
|
{ "foreground-alt", "#ffffff"}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
#region Variables
|
||||||
|
private readonly HttpClient httpClient = new();
|
||||||
|
private decimal Balance { get; set; }
|
||||||
|
public string Account = "primary";
|
||||||
|
public string Password { get; set; }
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public MainForm()
|
public MainForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
@ -243,62 +285,28 @@ public partial class MainForm : Form
|
|||||||
notifyForm2.Dispose();
|
notifyForm2.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Constants and Config
|
|
||||||
|
|
||||||
// Directory to store files including logs, theme and hsd node
|
|
||||||
public string dir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\"
|
|
||||||
+ Application.ProductName.Trim().Replace(" ", "") + "\\";
|
|
||||||
|
|
||||||
// How many days to check for domain exiries. If domain will expire in less than this, prompt user to renew.
|
|
||||||
public int daysToExpire = 90;
|
|
||||||
|
|
||||||
// Explorer URLs for transactions and domains
|
|
||||||
public string TXExplorer = "https://niami.io/tx/";
|
|
||||||
public string DomainExplorer = "https://niami.io/domain/";
|
|
||||||
|
|
||||||
// Links to show in help dropdown menu
|
|
||||||
public Dictionary<string, string> HelpLinks = new()
|
|
||||||
{
|
|
||||||
{ "Discord", "https://l.woodburn.au/discord" },
|
|
||||||
{ "Separator", "" },
|
|
||||||
{ "Github", "https://github.com/nathanwoodburn/FireWalletLite" }
|
|
||||||
};
|
|
||||||
|
|
||||||
// Min Confirmations for transactions to be considered valid
|
|
||||||
public int MinConfirmations = 1;
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Variables
|
|
||||||
|
|
||||||
public Dictionary<string, string> Theme { get; set; }
|
|
||||||
private readonly HttpClient httpClient = new();
|
|
||||||
private decimal Balance { get; set; }
|
|
||||||
public string Account = "primary";
|
|
||||||
public string Password { get; set; }
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
#region Theming
|
#region Theming
|
||||||
|
|
||||||
private void UpdateTheme()
|
private void UpdateTheme()
|
||||||
{
|
{
|
||||||
// Check if file exists
|
// Check if file exists
|
||||||
if (!Directory.Exists(dir)) CreateConfig(dir);
|
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
|
||||||
|
|
||||||
if (!File.Exists(dir + "theme.txt")) CreateConfig(dir);
|
if (File.Exists(dir + "theme.txt")) // Use custom theme
|
||||||
|
|
||||||
// Read file
|
|
||||||
var sr = new StreamReader(dir + "theme.txt");
|
|
||||||
Theme = new Dictionary<string, string>();
|
|
||||||
while (!sr.EndOfStream)
|
|
||||||
{
|
{
|
||||||
var line = sr.ReadLine();
|
|
||||||
var split = line.Split(':');
|
|
||||||
Theme.Add(split[0].Trim(), split[1].Trim());
|
|
||||||
}
|
|
||||||
|
|
||||||
sr.Dispose();
|
// Read file
|
||||||
|
var sr = new StreamReader(dir + "theme.txt");
|
||||||
|
Theme = new Dictionary<string, string>();
|
||||||
|
while (!sr.EndOfStream)
|
||||||
|
{
|
||||||
|
var line = sr.ReadLine();
|
||||||
|
var split = line.Split(':');
|
||||||
|
Theme.Add(split[0].Trim(), split[1].Trim());
|
||||||
|
}
|
||||||
|
|
||||||
|
sr.Dispose();
|
||||||
|
}
|
||||||
|
|
||||||
if (!Theme.ContainsKey("background") || !Theme.ContainsKey("background-alt") ||
|
if (!Theme.ContainsKey("background") || !Theme.ContainsKey("background-alt") ||
|
||||||
!Theme.ContainsKey("foreground") || !Theme.ContainsKey("foreground-alt"))
|
!Theme.ContainsKey("foreground") || !Theme.ContainsKey("foreground-alt"))
|
||||||
@ -341,20 +349,6 @@ public partial class MainForm : Form
|
|||||||
if (c.GetType() == typeof(Panel)) c.Dock = DockStyle.Fill;
|
if (c.GetType() == typeof(Panel)) c.Dock = DockStyle.Fill;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateConfig(string dir)
|
|
||||||
{
|
|
||||||
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
|
|
||||||
|
|
||||||
var streamWriter = new StreamWriter(dir + "theme.txt");
|
|
||||||
streamWriter.WriteLine("background: #000000");
|
|
||||||
streamWriter.WriteLine("foreground: #8e05c2");
|
|
||||||
streamWriter.WriteLine("background-alt: #3e065f");
|
|
||||||
streamWriter.WriteLine("foreground-alt: #ffffff");
|
|
||||||
streamWriter.WriteLine("error: #ff0000");
|
|
||||||
streamWriter.Dispose();
|
|
||||||
AddLog("Created theme file");
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region API
|
#region API
|
||||||
|
@ -8,11 +8,14 @@ public partial class NotifyForm : Form
|
|||||||
private bool allowClose = true;
|
private bool allowClose = true;
|
||||||
private readonly string altLink;
|
private readonly string altLink;
|
||||||
|
|
||||||
private readonly string dir = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) +
|
|
||||||
"\\FireWallet\\";
|
|
||||||
|
|
||||||
private readonly bool Linkcopy;
|
private readonly bool Linkcopy;
|
||||||
private Dictionary<string, string> theme;
|
public Dictionary<string, string> Theme { get; set; } = new()
|
||||||
|
{
|
||||||
|
{ "background", "#000000" },
|
||||||
|
{ "foreground", "#8e05c2"},
|
||||||
|
{ "background-alt", "#3e065f"},
|
||||||
|
{ "foreground-alt", "#ffffff"}
|
||||||
|
};
|
||||||
|
|
||||||
public NotifyForm(string Message)
|
public NotifyForm(string Message)
|
||||||
{
|
{
|
||||||
@ -100,150 +103,34 @@ public partial class NotifyForm : Form
|
|||||||
|
|
||||||
private void UpdateTheme()
|
private void UpdateTheme()
|
||||||
{
|
{
|
||||||
// Check if file exists
|
if (!Theme.ContainsKey("background") || !Theme.ContainsKey("background-alt") ||
|
||||||
if (!Directory.Exists(dir)) CreateConfig(dir);
|
!Theme.ContainsKey("foreground") || !Theme.ContainsKey("foreground-alt")) return;
|
||||||
if (!File.Exists(dir + "theme.txt")) CreateConfig(dir);
|
|
||||||
|
|
||||||
// Read file
|
// Apply Theme
|
||||||
var sr = new StreamReader(dir + "theme.txt");
|
BackColor = ColorTranslator.FromHtml(Theme["background"]);
|
||||||
theme = new Dictionary<string, string>();
|
|
||||||
while (!sr.EndOfStream)
|
|
||||||
{
|
|
||||||
var line = sr.ReadLine();
|
|
||||||
var split = line.Split(':');
|
|
||||||
theme.Add(split[0].Trim(), split[1].Trim());
|
|
||||||
}
|
|
||||||
|
|
||||||
sr.Dispose();
|
|
||||||
|
|
||||||
if (!theme.ContainsKey("background") || !theme.ContainsKey("background-alt") ||
|
|
||||||
!theme.ContainsKey("foreground") || !theme.ContainsKey("foreground-alt")) return;
|
|
||||||
|
|
||||||
// Apply theme
|
|
||||||
BackColor = ColorTranslator.FromHtml(theme["background"]);
|
|
||||||
|
|
||||||
// Foreground
|
// Foreground
|
||||||
ForeColor = ColorTranslator.FromHtml(theme["foreground"]);
|
ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||||
|
|
||||||
|
|
||||||
// Need to specify this for each groupbox to override the black text
|
// Need to specify this for each groupbox to override the black text
|
||||||
foreach (Control c in Controls) ThemeControl(c);
|
foreach (Control c in Controls) ThemeControl(c);
|
||||||
|
|
||||||
|
|
||||||
// Transparancy
|
|
||||||
applyTransparency(theme);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ThemeControl(Control c)
|
private void ThemeControl(Control c)
|
||||||
{
|
{
|
||||||
if (c.GetType() == typeof(GroupBox) || c.GetType() == typeof(Panel))
|
if (c.GetType() == typeof(GroupBox) || c.GetType() == typeof(Panel))
|
||||||
{
|
{
|
||||||
c.ForeColor = ColorTranslator.FromHtml(theme["foreground"]);
|
c.ForeColor = ColorTranslator.FromHtml(Theme["foreground"]);
|
||||||
foreach (Control sub in c.Controls) ThemeControl(sub);
|
foreach (Control sub in c.Controls) ThemeControl(sub);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c.GetType() == typeof(TextBox) || c.GetType() == typeof(Button)
|
if (c.GetType() == typeof(TextBox) || c.GetType() == typeof(Button)
|
||||||
|| c.GetType() == typeof(ComboBox) || c.GetType() == typeof(StatusStrip))
|
|| c.GetType() == typeof(ComboBox) || c.GetType() == typeof(StatusStrip))
|
||||||
{
|
{
|
||||||
c.ForeColor = ColorTranslator.FromHtml(theme["foreground-alt"]);
|
c.ForeColor = ColorTranslator.FromHtml(Theme["foreground-alt"]);
|
||||||
c.BackColor = ColorTranslator.FromHtml(theme["background-alt"]);
|
c.BackColor = ColorTranslator.FromHtml(Theme["background-alt"]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void applyTransparency(Dictionary<string, string> theme)
|
|
||||||
{
|
|
||||||
if (theme.ContainsKey("transparent-mode"))
|
|
||||||
switch (theme["transparent-mode"])
|
|
||||||
{
|
|
||||||
case "mica":
|
|
||||||
var accent = new AccentPolicy { AccentState = AccentState.ACCENT_ENABLE_BLURBEHIND };
|
|
||||||
var accentStructSize = Marshal.SizeOf(accent);
|
|
||||||
var accentPtr = Marshal.AllocHGlobal(accentStructSize);
|
|
||||||
Marshal.StructureToPtr(accent, accentPtr, false);
|
|
||||||
var data = new WindowCompositionAttributeData
|
|
||||||
{
|
|
||||||
Attribute = WindowCompositionAttribute.WCA_ACCENT_POLICY,
|
|
||||||
SizeOfData = accentStructSize,
|
|
||||||
Data = accentPtr
|
|
||||||
};
|
|
||||||
User32.SetWindowCompositionAttribute(Handle, ref data);
|
|
||||||
Marshal.FreeHGlobal(accentPtr);
|
|
||||||
break;
|
|
||||||
case "key":
|
|
||||||
if (theme.ContainsKey("transparency-key"))
|
|
||||||
switch (theme["transparency-key"])
|
|
||||||
{
|
|
||||||
case "alt":
|
|
||||||
TransparencyKey = ColorTranslator.FromHtml(theme["background-alt"]);
|
|
||||||
break;
|
|
||||||
case "main":
|
|
||||||
TransparencyKey = ColorTranslator.FromHtml(theme["background"]);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
TransparencyKey = ColorTranslator.FromHtml(theme["transparency-key"]);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
break;
|
|
||||||
case "percent":
|
|
||||||
if (theme.ContainsKey("transparency-percent"))
|
|
||||||
Opacity = Convert.ToDouble(theme["transparency-percent"]) / 100;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void CreateConfig(string dir)
|
|
||||||
{
|
|
||||||
if (!Directory.Exists(dir)) Directory.CreateDirectory(dir);
|
|
||||||
var sw = new StreamWriter(dir + "theme.txt");
|
|
||||||
sw.WriteLine("background: #000000");
|
|
||||||
sw.WriteLine("foreground: #8e05c2");
|
|
||||||
sw.WriteLine("background-alt: #3e065f");
|
|
||||||
sw.WriteLine("foreground-alt: #ffffff");
|
|
||||||
sw.WriteLine("transparent-mode: off");
|
|
||||||
sw.WriteLine("transparency-key: main");
|
|
||||||
sw.WriteLine("transparency-percent: 90");
|
|
||||||
|
|
||||||
sw.Dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Required for mica effect
|
|
||||||
internal enum AccentState
|
|
||||||
{
|
|
||||||
ACCENT_DISABLED = 0,
|
|
||||||
ACCENT_ENABLE_GRADIENT = 1,
|
|
||||||
ACCENT_ENABLE_TRANSPARENTGRADIENT = 2,
|
|
||||||
ACCENT_ENABLE_BLURBEHIND = 3,
|
|
||||||
ACCENT_INVALID_STATE = 4
|
|
||||||
}
|
|
||||||
|
|
||||||
internal enum WindowCompositionAttribute
|
|
||||||
{
|
|
||||||
WCA_ACCENT_POLICY = 19
|
|
||||||
}
|
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
internal struct AccentPolicy
|
|
||||||
{
|
|
||||||
public AccentState AccentState;
|
|
||||||
public int AccentFlags;
|
|
||||||
public int GradientColor;
|
|
||||||
public int AnimationId;
|
|
||||||
}
|
|
||||||
|
|
||||||
[StructLayout(LayoutKind.Sequential)]
|
|
||||||
internal struct WindowCompositionAttributeData
|
|
||||||
{
|
|
||||||
public WindowCompositionAttribute Attribute;
|
|
||||||
public IntPtr Data;
|
|
||||||
public int SizeOfData;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal static class User32
|
|
||||||
{
|
|
||||||
[DllImport("user32.dll")]
|
|
||||||
internal static extern int SetWindowCompositionAttribute(IntPtr hwnd, ref WindowCompositionAttributeData data);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
744
Installer/Installer.vdproj
Normal file
744
Installer/Installer.vdproj
Normal file
@ -0,0 +1,744 @@
|
|||||||
|
"DeployProject"
|
||||||
|
{
|
||||||
|
"VSVersion" = "3:800"
|
||||||
|
"ProjectType" = "8:{978C614F-708E-4E1A-B201-565925725DBA}"
|
||||||
|
"IsWebType" = "8:FALSE"
|
||||||
|
"ProjectName" = "8:Installer"
|
||||||
|
"LanguageId" = "3:1033"
|
||||||
|
"CodePage" = "3:1252"
|
||||||
|
"UILanguageId" = "3:1033"
|
||||||
|
"SccProjectName" = "8:"
|
||||||
|
"SccLocalPath" = "8:"
|
||||||
|
"SccAuxPath" = "8:"
|
||||||
|
"SccProvider" = "8:"
|
||||||
|
"Hierarchy"
|
||||||
|
{
|
||||||
|
"Entry"
|
||||||
|
{
|
||||||
|
"MsmKey" = "8:_AE21837395E3477BAB0C9E460C5F9E1E"
|
||||||
|
"OwnerKey" = "8:_UNDEFINED"
|
||||||
|
"MsmSig" = "8:_UNDEFINED"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Configurations"
|
||||||
|
{
|
||||||
|
"Debug"
|
||||||
|
{
|
||||||
|
"DisplayName" = "8:Debug"
|
||||||
|
"IsDebugOnly" = "11:TRUE"
|
||||||
|
"IsReleaseOnly" = "11:FALSE"
|
||||||
|
"OutputFilename" = "8:Debug\\Installer.msi"
|
||||||
|
"PackageFilesAs" = "3:2"
|
||||||
|
"PackageFileSize" = "3:-2147483648"
|
||||||
|
"CabType" = "3:1"
|
||||||
|
"Compression" = "3:2"
|
||||||
|
"SignOutput" = "11:FALSE"
|
||||||
|
"CertificateFile" = "8:"
|
||||||
|
"PrivateKeyFile" = "8:"
|
||||||
|
"TimeStampServer" = "8:"
|
||||||
|
"InstallerBootstrapper" = "3:2"
|
||||||
|
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
|
||||||
|
{
|
||||||
|
"Enabled" = "11:TRUE"
|
||||||
|
"PromptEnabled" = "11:TRUE"
|
||||||
|
"PrerequisitesLocation" = "2:1"
|
||||||
|
"Url" = "8:"
|
||||||
|
"ComponentsUrl" = "8:"
|
||||||
|
"Items"
|
||||||
|
{
|
||||||
|
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
|
||||||
|
{
|
||||||
|
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
|
||||||
|
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
|
||||||
|
}
|
||||||
|
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.NetCore.DesktopRuntime.6.0.x64"
|
||||||
|
{
|
||||||
|
"Name" = "8:.NET Desktop Runtime 6.0.18 (x64)"
|
||||||
|
"ProductCode" = "8:Microsoft.NetCore.DesktopRuntime.6.0.x64"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Release"
|
||||||
|
{
|
||||||
|
"DisplayName" = "8:Release"
|
||||||
|
"IsDebugOnly" = "11:FALSE"
|
||||||
|
"IsReleaseOnly" = "11:TRUE"
|
||||||
|
"OutputFilename" = "8:Release\\Installer.msi"
|
||||||
|
"PackageFilesAs" = "3:2"
|
||||||
|
"PackageFileSize" = "3:-2147483648"
|
||||||
|
"CabType" = "3:1"
|
||||||
|
"Compression" = "3:2"
|
||||||
|
"SignOutput" = "11:FALSE"
|
||||||
|
"CertificateFile" = "8:"
|
||||||
|
"PrivateKeyFile" = "8:"
|
||||||
|
"TimeStampServer" = "8:"
|
||||||
|
"InstallerBootstrapper" = "3:2"
|
||||||
|
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
|
||||||
|
{
|
||||||
|
"Enabled" = "11:TRUE"
|
||||||
|
"PromptEnabled" = "11:TRUE"
|
||||||
|
"PrerequisitesLocation" = "2:1"
|
||||||
|
"Url" = "8:"
|
||||||
|
"ComponentsUrl" = "8:"
|
||||||
|
"Items"
|
||||||
|
{
|
||||||
|
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:.NETFramework,Version=v4.7.2"
|
||||||
|
{
|
||||||
|
"Name" = "8:Microsoft .NET Framework 4.7.2 (x86 and x64)"
|
||||||
|
"ProductCode" = "8:.NETFramework,Version=v4.7.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Deployable"
|
||||||
|
{
|
||||||
|
"CustomAction"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"DefaultFeature"
|
||||||
|
{
|
||||||
|
"Name" = "8:DefaultFeature"
|
||||||
|
"Title" = "8:"
|
||||||
|
"Description" = "8:"
|
||||||
|
}
|
||||||
|
"ExternalPersistence"
|
||||||
|
{
|
||||||
|
"LaunchCondition"
|
||||||
|
{
|
||||||
|
"{A06ECF26-33A3-4562-8140-9B0E340D4F24}:_5AF7E79AA90B41AAA29786DC3C4C7096"
|
||||||
|
{
|
||||||
|
"Name" = "8:.NET Core"
|
||||||
|
"Message" = "8:[VSDNETCOREMSG]"
|
||||||
|
"AllowLaterVersions" = "11:FALSE"
|
||||||
|
"InstallUrl" = "8:https://dotnet.microsoft.com/download/dotnet-core/[NetCoreVerMajorDotMinor]"
|
||||||
|
"IsNETCore" = "11:TRUE"
|
||||||
|
"Architecture" = "2:0"
|
||||||
|
"Runtime" = "2:0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"File"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"FileType"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"Folder"
|
||||||
|
{
|
||||||
|
"{1525181F-901A-416C-8A58-119130FE478E}:_C5178F6D7FA7478084860195A2F5CE00"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1919"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Property" = "8:ProgramMenuFolder"
|
||||||
|
"Folders"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{1525181F-901A-416C-8A58-119130FE478E}:_E1E43FB13F0B48DA98F52FC87B46388F"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1916"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Property" = "8:DesktopFolder"
|
||||||
|
"Folders"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{3C67513D-01DD-4637-8A68-80971EB9504F}:_F2E4B39C8E3B4447A5FD1EDBBBF6F36B"
|
||||||
|
{
|
||||||
|
"DefaultLocation" = "8:[ProgramFilesFolder][ProductName]"
|
||||||
|
"Name" = "8:#1925"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Property" = "8:TARGETDIR"
|
||||||
|
"Folders"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"LaunchCondition"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"Locator"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"MsiBootstrapper"
|
||||||
|
{
|
||||||
|
"LangId" = "3:1033"
|
||||||
|
"RequiresElevation" = "11:FALSE"
|
||||||
|
}
|
||||||
|
"Product"
|
||||||
|
{
|
||||||
|
"Name" = "8:Microsoft Visual Studio"
|
||||||
|
"ProductName" = "8:FireWalletLite"
|
||||||
|
"ProductCode" = "8:{23670E44-E1CD-40B5-881D-40657BD30860}"
|
||||||
|
"PackageCode" = "8:{2CCCD1E4-40D9-4E58-8D3A-2039BD1CD215}"
|
||||||
|
"UpgradeCode" = "8:{6966FD44-6B8C-43C0-981A-E36449BF2DA8}"
|
||||||
|
"AspNetVersion" = "8:"
|
||||||
|
"RestartWWWService" = "11:FALSE"
|
||||||
|
"RemovePreviousVersions" = "11:TRUE"
|
||||||
|
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||||
|
"InstallAllUsers" = "11:FALSE"
|
||||||
|
"ProductVersion" = "8:1.0.0"
|
||||||
|
"Manufacturer" = "8:Nathan.Woodburn/"
|
||||||
|
"ARPHELPTELEPHONE" = "8:"
|
||||||
|
"ARPHELPLINK" = "8:"
|
||||||
|
"Title" = "8:FireWalletLite"
|
||||||
|
"Subject" = "8:"
|
||||||
|
"ARPCONTACT" = "8:Nathan.Woodburn/"
|
||||||
|
"Keywords" = "8:"
|
||||||
|
"ARPCOMMENTS" = "8:"
|
||||||
|
"ARPURLINFOABOUT" = "8:"
|
||||||
|
"ARPPRODUCTICON" = "8:"
|
||||||
|
"ARPIconIndex" = "3:0"
|
||||||
|
"SearchPath" = "8:"
|
||||||
|
"UseSystemSearchPath" = "11:TRUE"
|
||||||
|
"TargetPlatform" = "3:0"
|
||||||
|
"PreBuildEvent" = "8:"
|
||||||
|
"PostBuildEvent" = "8:"
|
||||||
|
"RunPostBuildEvent" = "3:0"
|
||||||
|
}
|
||||||
|
"Registry"
|
||||||
|
{
|
||||||
|
"HKLM"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_4CAE988EEDBA48869A26B28C6C1F4BB9"
|
||||||
|
{
|
||||||
|
"Name" = "8:Software"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"DeleteAtUninstall" = "11:FALSE"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_65A687F33E58477296CAA0595729195C"
|
||||||
|
{
|
||||||
|
"Name" = "8:[Manufacturer]"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"DeleteAtUninstall" = "11:FALSE"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"Values"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Values"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"HKCU"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_B60CD5397F694FCAB905C352E6CA07AD"
|
||||||
|
{
|
||||||
|
"Name" = "8:Software"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"DeleteAtUninstall" = "11:FALSE"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
"{60EA8692-D2D5-43EB-80DC-7906BF13D6EF}:_8E9CCF202A2145E3ABF1FDC18F205A7A"
|
||||||
|
{
|
||||||
|
"Name" = "8:[Manufacturer]"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"AlwaysCreate" = "11:FALSE"
|
||||||
|
"DeleteAtUninstall" = "11:FALSE"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"Values"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Values"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"HKCR"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"HKU"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"HKPU"
|
||||||
|
{
|
||||||
|
"Keys"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"Sequences"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"Shortcut"
|
||||||
|
{
|
||||||
|
"{970C0BB2-C7D0-45D7-ABFA-7EC378858BC0}:_41DBEDCE7AA04AA6A5749C1CCDA9E389"
|
||||||
|
{
|
||||||
|
"Name" = "8:FireWalletLite"
|
||||||
|
"Arguments" = "8:"
|
||||||
|
"Description" = "8:"
|
||||||
|
"ShowCmd" = "3:1"
|
||||||
|
"IconIndex" = "3:0"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Target" = "8:_AE21837395E3477BAB0C9E460C5F9E1E"
|
||||||
|
"Folder" = "8:_C5178F6D7FA7478084860195A2F5CE00"
|
||||||
|
"WorkingFolder" = "8:_F2E4B39C8E3B4447A5FD1EDBBBF6F36B"
|
||||||
|
"Icon" = "8:"
|
||||||
|
"Feature" = "8:"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"UserInterface"
|
||||||
|
{
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0CF0510293554C2990129671DA802C05"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1902"
|
||||||
|
"Sequence" = "3:2"
|
||||||
|
"Attributes" = "3:3"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_44CD2A6A59354DF795C3211010308027"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Finished"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFinishedDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_0D16658A610C430198D6F91FD4D732D3"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1901"
|
||||||
|
"Sequence" = "3:2"
|
||||||
|
"Attributes" = "3:2"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_C94DF693C5A64464ACBAEB0A1075C332"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Progress"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminProgressDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"ShowProgress"
|
||||||
|
{
|
||||||
|
"Name" = "8:ShowProgress"
|
||||||
|
"DisplayName" = "8:#1009"
|
||||||
|
"Description" = "8:#1109"
|
||||||
|
"Type" = "3:5"
|
||||||
|
"ContextData" = "8:1;True=1;False=0"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:0"
|
||||||
|
"Value" = "3:1"
|
||||||
|
"DefaultValue" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_558486BDD95E40A5BB80770F8EAA4E67"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1901"
|
||||||
|
"Sequence" = "3:1"
|
||||||
|
"Attributes" = "3:2"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_9853F04696E14F45BF9E2726A1EBE60C"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Progress"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdProgressDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"ShowProgress"
|
||||||
|
{
|
||||||
|
"Name" = "8:ShowProgress"
|
||||||
|
"DisplayName" = "8:#1009"
|
||||||
|
"Description" = "8:#1109"
|
||||||
|
"Type" = "3:5"
|
||||||
|
"ContextData" = "8:1;True=1;False=0"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:0"
|
||||||
|
"Value" = "3:1"
|
||||||
|
"DefaultValue" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_5C124147EC93487E8B9C96FBA33DC342"
|
||||||
|
{
|
||||||
|
"UseDynamicProperties" = "11:FALSE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdUserInterface.wim"
|
||||||
|
}
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_5DAC4010477747D88BC32C17B23E50E3"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1900"
|
||||||
|
"Sequence" = "3:2"
|
||||||
|
"Attributes" = "3:1"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_042F4FCF249B41F784926BA13CFC5792"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:200"
|
||||||
|
"DisplayName" = "8:Installation Folder"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminFolderDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_257C47CAADC54FC38173EC802533721C"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Welcome"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminWelcomeDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"CopyrightWarning"
|
||||||
|
{
|
||||||
|
"Name" = "8:CopyrightWarning"
|
||||||
|
"DisplayName" = "8:#1002"
|
||||||
|
"Description" = "8:#1102"
|
||||||
|
"Type" = "3:3"
|
||||||
|
"ContextData" = "8:"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"Value" = "8:#1202"
|
||||||
|
"DefaultValue" = "8:#1202"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"Welcome"
|
||||||
|
{
|
||||||
|
"Name" = "8:Welcome"
|
||||||
|
"DisplayName" = "8:#1003"
|
||||||
|
"Description" = "8:#1103"
|
||||||
|
"Type" = "3:3"
|
||||||
|
"ContextData" = "8:"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"Value" = "8:#1203"
|
||||||
|
"DefaultValue" = "8:#1203"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_F32ECFCDB25A4F72A49C5ABE18380725"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:300"
|
||||||
|
"DisplayName" = "8:Confirm Installation"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdAdminConfirmDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{2479F3F5-0309-486D-8047-8187E2CE5BA0}:_A40A9D5E6C814841890F5B9F459823E5"
|
||||||
|
{
|
||||||
|
"UseDynamicProperties" = "11:FALSE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdBasicDialogs.wim"
|
||||||
|
}
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_F6A7465009F84A3C8C006B2BEE5EF5BD"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1902"
|
||||||
|
"Sequence" = "3:1"
|
||||||
|
"Attributes" = "3:3"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_89C1E3A6235947C086DBA8A50608ADDE"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Finished"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdFinishedDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"UpdateText"
|
||||||
|
{
|
||||||
|
"Name" = "8:UpdateText"
|
||||||
|
"DisplayName" = "8:#1058"
|
||||||
|
"Description" = "8:#1158"
|
||||||
|
"Type" = "3:15"
|
||||||
|
"ContextData" = "8:"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"Value" = "8:#1258"
|
||||||
|
"DefaultValue" = "8:#1258"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{DF760B10-853B-4699-99F2-AFF7185B4A62}:_FF3128B8043E4FA9817936D20B319546"
|
||||||
|
{
|
||||||
|
"Name" = "8:#1900"
|
||||||
|
"Sequence" = "3:1"
|
||||||
|
"Attributes" = "3:1"
|
||||||
|
"Dialogs"
|
||||||
|
{
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_1D1CA2281D284F5A88862C7DCAA62F16"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:300"
|
||||||
|
"DisplayName" = "8:Confirm Installation"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdConfirmDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_4F94CBA97362442D91A8822131530A8C"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:100"
|
||||||
|
"DisplayName" = "8:Welcome"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdWelcomeDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"CopyrightWarning"
|
||||||
|
{
|
||||||
|
"Name" = "8:CopyrightWarning"
|
||||||
|
"DisplayName" = "8:#1002"
|
||||||
|
"Description" = "8:#1102"
|
||||||
|
"Type" = "3:3"
|
||||||
|
"ContextData" = "8:"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"Value" = "8:#1202"
|
||||||
|
"DefaultValue" = "8:#1202"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"Welcome"
|
||||||
|
{
|
||||||
|
"Name" = "8:Welcome"
|
||||||
|
"DisplayName" = "8:#1003"
|
||||||
|
"Description" = "8:#1103"
|
||||||
|
"Type" = "3:3"
|
||||||
|
"ContextData" = "8:"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"Value" = "8:#1203"
|
||||||
|
"DefaultValue" = "8:#1203"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"{688940B3-5CA9-4162-8DEE-2993FA9D8CBC}:_CA81350D69B4450C846CB4A31EE35251"
|
||||||
|
{
|
||||||
|
"Sequence" = "3:200"
|
||||||
|
"DisplayName" = "8:Installation Folder"
|
||||||
|
"UseDynamicProperties" = "11:TRUE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"SourcePath" = "8:<VsdDialogDir>\\VsdFolderDlg.wid"
|
||||||
|
"Properties"
|
||||||
|
{
|
||||||
|
"BannerBitmap"
|
||||||
|
{
|
||||||
|
"Name" = "8:BannerBitmap"
|
||||||
|
"DisplayName" = "8:#1001"
|
||||||
|
"Description" = "8:#1101"
|
||||||
|
"Type" = "3:8"
|
||||||
|
"ContextData" = "8:Bitmap"
|
||||||
|
"Attributes" = "3:4"
|
||||||
|
"Setting" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
"InstallAllUsersVisible"
|
||||||
|
{
|
||||||
|
"Name" = "8:InstallAllUsersVisible"
|
||||||
|
"DisplayName" = "8:#1059"
|
||||||
|
"Description" = "8:#1159"
|
||||||
|
"Type" = "3:5"
|
||||||
|
"ContextData" = "8:1;True=1;False=0"
|
||||||
|
"Attributes" = "3:0"
|
||||||
|
"Setting" = "3:0"
|
||||||
|
"Value" = "3:1"
|
||||||
|
"DefaultValue" = "3:1"
|
||||||
|
"UsePlugInResources" = "11:TRUE"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
"MergeModule"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
"ProjectOutput"
|
||||||
|
{
|
||||||
|
"{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_AE21837395E3477BAB0C9E460C5F9E1E"
|
||||||
|
{
|
||||||
|
"SourcePath" = "8:..\\FireWalletLite\\obj\\Debug\\net6.0-windows\\apphost.exe"
|
||||||
|
"TargetName" = "8:"
|
||||||
|
"Tag" = "8:"
|
||||||
|
"Folder" = "8:_F2E4B39C8E3B4447A5FD1EDBBBF6F36B"
|
||||||
|
"Condition" = "8:"
|
||||||
|
"Transitive" = "11:FALSE"
|
||||||
|
"Vital" = "11:TRUE"
|
||||||
|
"ReadOnly" = "11:FALSE"
|
||||||
|
"Hidden" = "11:FALSE"
|
||||||
|
"System" = "11:FALSE"
|
||||||
|
"Permanent" = "11:FALSE"
|
||||||
|
"SharedLegacy" = "11:FALSE"
|
||||||
|
"PackageAs" = "3:1"
|
||||||
|
"Register" = "3:1"
|
||||||
|
"Exclude" = "11:FALSE"
|
||||||
|
"IsDependency" = "11:FALSE"
|
||||||
|
"IsolateTo" = "8:"
|
||||||
|
"ProjectOutputGroupRegister" = "3:1"
|
||||||
|
"OutputConfiguration" = "8:"
|
||||||
|
"OutputGroupCanonicalName" = "8:PublishItems"
|
||||||
|
"OutputProjectGuid" = "8:{A375882A-CB5E-4268-A6CC-106B270EE200}"
|
||||||
|
"ShowKeyOutput" = "11:TRUE"
|
||||||
|
"ExcludeFilters"
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
14
README.md
14
README.md
@ -1,6 +1,9 @@
|
|||||||
# FireWalletLite
|
# FireWalletLite
|
||||||
A lite wallet for Handshake.
|
A lite wallet for Handshake.
|
||||||
This is aimed to be mainly used for holding HNS and domains without sending anything.
|
This is aimed to be mainly used for holding HNS and domains without sending anything.
|
||||||
|
For example if you want to gift a domain to someone, you can have them use this wallet to store the wallet.
|
||||||
|
You will still need to renew the domains at least every 2 years.
|
||||||
|
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
First run flow:
|
First run flow:
|
||||||
@ -28,4 +31,11 @@ This wallet does not (and will never) support
|
|||||||
- DNS management
|
- DNS management
|
||||||
|
|
||||||
|
|
||||||
If you want to use a wallet with more features, please use [Fire Wallet](https://firewallet.au) or [Bob Wallet](https://bobwallet.io) instead.
|
If you want to use a wallet with more features, please use [Fire Wallet](https://firewallet.au) or [Bob Wallet](https://bobwallet.io) instead.
|
||||||
|
|
||||||
|
## Install
|
||||||
|
FireWalletLite is available for Windows only.
|
||||||
|
You can download the latest prebuilt release from [here](https://git.woodburn.au/nathanwoodburn/FireWalletLite/releases).
|
||||||
|
You should download the `FireWalletLite.zip` file and extract it to a folder then run the `setup.exe` file as this file will install the .net runtime if it is not already installed.
|
||||||
|
|
||||||
|
**You can also build it yourself by cloning this repo and building it in Visual Studio.**
|
Loading…
Reference in New Issue
Block a user