添加项目文件。

master
hang 2023-10-23 10:51:55 +08:00
parent e5f96ad68c
commit 76c301cede
13 changed files with 8757 additions and 0 deletions

View File

@ -0,0 +1,63 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net6.0-windows</TargetFramework>
<Nullable>enable</Nullable>
<UseWindowsForms>true</UseWindowsForms>
<ImplicitUsings>enable</ImplicitUsings>
<Platforms>AnyCPU;x64</Platforms>
<ApplicationIcon>favicon.ico</ApplicationIcon>
<AssemblyVersion></AssemblyVersion>
<FileVersion>1.0.0.001</FileVersion>
<Copyright>武汉行藏科技有限公司版权所有</Copyright>
<Product>医学影像处理软件安装程序</Product>
<Version>1.0.0.001</Version>
</PropertyGroup>
<ItemGroup>
<None Remove="Resource\EIImageViewerData.rar" />
<None Remove="Resource\EIImageViewerService.rar" />
<None Remove="Resource\EIImageViewerWeb.rar" />
<None Remove="Resource\UnInstall.exe" />
<None Remove="ServiceConfig.Json" />
<None Remove="Resource\Data\data.sql" />
<None Remove="Resource\Data\dbo.sql" />
<None Remove="Resource\Data\startNginx.bat" />
</ItemGroup>
<ItemGroup>
<Content Include="favicon.ico" />
<Content Include="Resource\EIImageViewerData.rar">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resource\EIImageViewerService.rar">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resource\EIImageViewerWeb.rar">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resource\Data\data.sql">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resource\Data\dbo.sql">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="Resource\UnInstall.exe">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
</ItemGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="13.0.1" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="SharpCompress" Version="0.32.2" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.3" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="6.0.0" />
</ItemGroup>
<ItemGroup>
<Folder Include="Properties\" />
</ItemGroup>
</Project>

499
Main.Designer.cs generated Normal file
View File

@ -0,0 +1,499 @@
namespace Start
{
partial class Main
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main));
groupBox1 = new GroupBox();
connectButton = new Button();
passwordTextBox = new TextBox();
usernameTextBox = new TextBox();
serverTextBox = new TextBox();
label3 = new Label();
label2 = new Label();
label1 = new Label();
groupBox2 = new GroupBox();
nginxServiceDisplayNameTbox = new TextBox();
nginxServiceNameTbox = new TextBox();
label12 = new Label();
label13 = new Label();
confimDeployBtn = new Button();
serviceDisplayNameTBox = new TextBox();
serviceNameTBox = new TextBox();
label11 = new Label();
label10 = new Label();
selectPathBtn = new Button();
folderPathTbox = new TextBox();
label9 = new Label();
dbNameTBox = new TextBox();
label8 = new Label();
apiPortTBox = new TextBox();
nginxPortTBox = new TextBox();
label4 = new Label();
label5 = new Label();
groupBox3 = new GroupBox();
btnCopy = new Button();
activeBtn = new Button();
KeySecreteTextBox = new TextBox();
machineTextBox = new TextBox();
machineCodeLB = new Label();
label6 = new Label();
label7 = new Label();
groupBox4 = new GroupBox();
logTBox = new RichTextBox();
folderBrowserDialog1 = new FolderBrowserDialog();
groupBox1.SuspendLayout();
groupBox2.SuspendLayout();
groupBox3.SuspendLayout();
groupBox4.SuspendLayout();
SuspendLayout();
//
// groupBox1
//
groupBox1.Controls.Add(connectButton);
groupBox1.Controls.Add(passwordTextBox);
groupBox1.Controls.Add(usernameTextBox);
groupBox1.Controls.Add(serverTextBox);
groupBox1.Controls.Add(label3);
groupBox1.Controls.Add(label2);
groupBox1.Controls.Add(label1);
groupBox1.Location = new Point(11, 12);
groupBox1.Name = "groupBox1";
groupBox1.Size = new Size(547, 205);
groupBox1.TabIndex = 0;
groupBox1.TabStop = false;
groupBox1.Text = "第一步:验证数据库";
//
// connectButton
//
connectButton.Location = new Point(195, 150);
connectButton.Name = "connectButton";
connectButton.Size = new Size(128, 40);
connectButton.TabIndex = 6;
connectButton.Text = "测试连接";
connectButton.UseVisualStyleBackColor = true;
connectButton.Click += connectButton_Click;
//
// passwordTextBox
//
passwordTextBox.Location = new Point(154, 113);
passwordTextBox.Name = "passwordTextBox";
passwordTextBox.PasswordChar = '*';
passwordTextBox.Size = new Size(271, 23);
passwordTextBox.TabIndex = 5;
//
// usernameTextBox
//
usernameTextBox.Location = new Point(156, 73);
usernameTextBox.Name = "usernameTextBox";
usernameTextBox.Size = new Size(271, 23);
usernameTextBox.TabIndex = 4;
usernameTextBox.Text = "sa";
//
// serverTextBox
//
serverTextBox.Location = new Point(156, 33);
serverTextBox.Name = "serverTextBox";
serverTextBox.Size = new Size(271, 23);
serverTextBox.TabIndex = 3;
serverTextBox.Text = ".";
//
// label3
//
label3.AutoSize = true;
label3.Location = new Point(107, 113);
label3.Name = "label3";
label3.Size = new Size(32, 17);
label3.TabIndex = 2;
label3.Text = "密码";
//
// label2
//
label2.AutoSize = true;
label2.Location = new Point(101, 73);
label2.Name = "label2";
label2.Size = new Size(44, 17);
label2.TabIndex = 1;
label2.Text = "登录名";
//
// label1
//
label1.AutoSize = true;
label1.Location = new Point(95, 33);
label1.Name = "label1";
label1.Size = new Size(56, 17);
label1.TabIndex = 0;
label1.Text = "服务器名";
//
// groupBox2
//
groupBox2.Controls.Add(nginxServiceDisplayNameTbox);
groupBox2.Controls.Add(nginxServiceNameTbox);
groupBox2.Controls.Add(label12);
groupBox2.Controls.Add(label13);
groupBox2.Controls.Add(confimDeployBtn);
groupBox2.Controls.Add(serviceDisplayNameTBox);
groupBox2.Controls.Add(serviceNameTBox);
groupBox2.Controls.Add(label11);
groupBox2.Controls.Add(label10);
groupBox2.Controls.Add(selectPathBtn);
groupBox2.Controls.Add(folderPathTbox);
groupBox2.Controls.Add(label9);
groupBox2.Controls.Add(dbNameTBox);
groupBox2.Controls.Add(label8);
groupBox2.Controls.Add(apiPortTBox);
groupBox2.Controls.Add(nginxPortTBox);
groupBox2.Controls.Add(label4);
groupBox2.Controls.Add(label5);
groupBox2.Location = new Point(12, 223);
groupBox2.Name = "groupBox2";
groupBox2.Size = new Size(546, 468);
groupBox2.TabIndex = 1;
groupBox2.TabStop = false;
groupBox2.Text = "第二步: 部署参数配置";
//
// nginxServiceDisplayNameTbox
//
nginxServiceDisplayNameTbox.Location = new Point(151, 368);
nginxServiceDisplayNameTbox.Name = "nginxServiceDisplayNameTbox";
nginxServiceDisplayNameTbox.Size = new Size(259, 23);
nginxServiceDisplayNameTbox.TabIndex = 23;
nginxServiceDisplayNameTbox.Text = "EI_Nginx_Self_Starting";
//
// nginxServiceNameTbox
//
nginxServiceNameTbox.Location = new Point(151, 322);
nginxServiceNameTbox.Name = "nginxServiceNameTbox";
nginxServiceNameTbox.Size = new Size(259, 23);
nginxServiceNameTbox.TabIndex = 22;
nginxServiceNameTbox.Text = "EI_Nginx";
//
// label12
//
label12.AutoSize = true;
label12.Location = new Point(27, 368);
label12.Name = "label12";
label12.Size = new Size(111, 17);
label12.TabIndex = 21;
label12.Text = "nginx服务显示名称";
//
// label13
//
label13.AutoSize = true;
label13.Location = new Point(51, 322);
label13.Name = "label13";
label13.Size = new Size(87, 17);
label13.TabIndex = 20;
label13.Text = "nginx服务名称";
//
// confimDeployBtn
//
confimDeployBtn.Enabled = false;
confimDeployBtn.Location = new Point(195, 409);
confimDeployBtn.Name = "confimDeployBtn";
confimDeployBtn.Size = new Size(128, 40);
confimDeployBtn.TabIndex = 19;
confimDeployBtn.Text = "确认部署配置";
confimDeployBtn.UseVisualStyleBackColor = true;
confimDeployBtn.Click += confimDeployBtn_Click;
//
// serviceDisplayNameTBox
//
serviceDisplayNameTBox.Location = new Point(152, 274);
serviceDisplayNameTBox.Name = "serviceDisplayNameTBox";
serviceDisplayNameTBox.Size = new Size(259, 23);
serviceDisplayNameTBox.TabIndex = 16;
serviceDisplayNameTBox.Text = "EI_Image_Viewer_DisplayName";
//
// serviceNameTBox
//
serviceNameTBox.Location = new Point(152, 228);
serviceNameTBox.Name = "serviceNameTBox";
serviceNameTBox.Size = new Size(259, 23);
serviceNameTBox.TabIndex = 15;
serviceNameTBox.Text = "EI_Image_Viewer";
//
// label11
//
label11.AutoSize = true;
label11.Location = new Point(11, 277);
label11.Name = "label11";
label11.Size = new Size(128, 17);
label11.TabIndex = 14;
label11.Text = "网站后端服务显示名称";
//
// label10
//
label10.AutoSize = true;
label10.Location = new Point(35, 231);
label10.Name = "label10";
label10.Size = new Size(104, 17);
label10.TabIndex = 13;
label10.Text = "网站后端服务名称";
//
// selectPathBtn
//
selectPathBtn.Enabled = false;
selectPathBtn.Location = new Point(429, 43);
selectPathBtn.Name = "selectPathBtn";
selectPathBtn.Size = new Size(95, 27);
selectPathBtn.TabIndex = 12;
selectPathBtn.Text = "选择";
selectPathBtn.UseVisualStyleBackColor = true;
selectPathBtn.Click += selectPathBtn_Click;
//
// folderPathTbox
//
folderPathTbox.Enabled = false;
folderPathTbox.Location = new Point(152, 44);
folderPathTbox.Name = "folderPathTbox";
folderPathTbox.Size = new Size(259, 23);
folderPathTbox.TabIndex = 11;
//
// label9
//
label9.AutoSize = true;
label9.Location = new Point(83, 48);
label9.Name = "label9";
label9.Size = new Size(56, 17);
label9.TabIndex = 10;
label9.Text = "部署路径";
//
// dbNameTBox
//
dbNameTBox.Location = new Point(152, 182);
dbNameTBox.Name = "dbNameTBox";
dbNameTBox.Size = new Size(259, 23);
dbNameTBox.TabIndex = 9;
dbNameTBox.Text = "IRaCIS";
//
// label8
//
label8.AutoSize = true;
label8.Location = new Point(47, 185);
label8.Name = "label8";
label8.Size = new Size(92, 17);
label8.TabIndex = 8;
label8.Text = "部署数据库名称";
//
// apiPortTBox
//
apiPortTBox.Location = new Point(152, 136);
apiPortTBox.Name = "apiPortTBox";
apiPortTBox.Size = new Size(259, 23);
apiPortTBox.TabIndex = 5;
apiPortTBox.Text = "7100";
//
// nginxPortTBox
//
nginxPortTBox.Location = new Point(152, 90);
nginxPortTBox.Name = "nginxPortTBox";
nginxPortTBox.Size = new Size(259, 23);
nginxPortTBox.TabIndex = 4;
nginxPortTBox.Text = "9520";
//
// label4
//
label4.AutoSize = true;
label4.Location = new Point(11, 140);
label4.Name = "label4";
label4.Size = new Size(128, 17);
label4.TabIndex = 3;
label4.Text = "网站后端服务启动端口";
//
// label5
//
label5.AutoSize = true;
label5.Location = new Point(35, 93);
label5.Name = "label5";
label5.Size = new Size(104, 17);
label5.TabIndex = 2;
label5.Text = "网站前端访问端口";
//
// groupBox3
//
groupBox3.Controls.Add(btnCopy);
groupBox3.Controls.Add(activeBtn);
groupBox3.Controls.Add(KeySecreteTextBox);
groupBox3.Controls.Add(machineTextBox);
groupBox3.Controls.Add(machineCodeLB);
groupBox3.Controls.Add(label6);
groupBox3.Controls.Add(label7);
groupBox3.Location = new Point(11, 714);
groupBox3.Name = "groupBox3";
groupBox3.Size = new Size(544, 221);
groupBox3.TabIndex = 2;
groupBox3.TabStop = false;
groupBox3.Text = "第三步:激活与部署";
//
// btnCopy
//
btnCopy.Location = new Point(429, 39);
btnCopy.Name = "btnCopy";
btnCopy.Size = new Size(93, 27);
btnCopy.TabIndex = 13;
btnCopy.Text = "复制";
btnCopy.UseVisualStyleBackColor = true;
btnCopy.Click += btnCopy_Click;
//
// activeBtn
//
activeBtn.Enabled = false;
activeBtn.Location = new Point(195, 139);
activeBtn.Name = "activeBtn";
activeBtn.Size = new Size(128, 40);
activeBtn.TabIndex = 9;
activeBtn.Text = "激活并部署";
activeBtn.UseVisualStyleBackColor = true;
activeBtn.Click += activeBtn_Click;
//
// KeySecreteTextBox
//
KeySecreteTextBox.Location = new Point(152, 92);
KeySecreteTextBox.Name = "KeySecreteTextBox";
KeySecreteTextBox.Size = new Size(259, 23);
KeySecreteTextBox.TabIndex = 8;
//
// machineTextBox
//
machineTextBox.Location = new Point(152, 42);
machineTextBox.Name = "machineTextBox";
machineTextBox.ReadOnly = true;
machineTextBox.Size = new Size(259, 23);
machineTextBox.TabIndex = 7;
//
// machineCodeLB
//
machineCodeLB.AutoSize = true;
machineCodeLB.Location = new Point(163, 44);
machineCodeLB.Name = "machineCodeLB";
machineCodeLB.Size = new Size(0, 17);
machineCodeLB.TabIndex = 6;
//
// label6
//
label6.AutoSize = true;
label6.Location = new Point(95, 94);
label6.Name = "label6";
label6.Size = new Size(44, 17);
label6.TabIndex = 5;
label6.Text = "激活码";
//
// label7
//
label7.AutoSize = true;
label7.Location = new Point(95, 44);
label7.Name = "label7";
label7.Size = new Size(44, 17);
label7.TabIndex = 4;
label7.Text = "机器码";
//
// groupBox4
//
groupBox4.Controls.Add(logTBox);
groupBox4.Location = new Point(570, 11);
groupBox4.Name = "groupBox4";
groupBox4.Size = new Size(391, 825);
groupBox4.TabIndex = 4;
groupBox4.TabStop = false;
groupBox4.Text = "部署日志";
//
// logTBox
//
logTBox.Location = new Point(6, 22);
logTBox.Name = "logTBox";
logTBox.Size = new Size(359, 797);
logTBox.TabIndex = 0;
logTBox.Text = "";
//
// Main
//
AutoScaleDimensions = new SizeF(7F, 17F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(977, 944);
Controls.Add(groupBox4);
Controls.Add(groupBox3);
Controls.Add(groupBox2);
Controls.Add(groupBox1);
Icon = (Icon)resources.GetObject("$this.Icon");
Name = "Main";
Text = "安装 - EI Image Viewer V1";
TopMost = true;
Load += Main_Load;
groupBox1.ResumeLayout(false);
groupBox1.PerformLayout();
groupBox2.ResumeLayout(false);
groupBox2.PerformLayout();
groupBox3.ResumeLayout(false);
groupBox3.PerformLayout();
groupBox4.ResumeLayout(false);
ResumeLayout(false);
}
#endregion
private GroupBox groupBox1;
private Label label3;
private Label label2;
private Label label1;
private TextBox passwordTextBox;
private TextBox usernameTextBox;
private TextBox serverTextBox;
private Button connectButton;
private GroupBox groupBox2;
private TextBox apiPortTBox;
private TextBox nginxPortTBox;
private Label label4;
private Label label5;
private GroupBox groupBox3;
private Label machineCodeLB;
private Label label6;
private Label label7;
private Button activeBtn;
private TextBox KeySecreteTextBox;
private TextBox machineTextBox;
private GroupBox groupBox4;
private RichTextBox logTBox;
private TextBox dbNameTBox;
private Label label8;
private Button selectPathBtn;
private TextBox folderPathTbox;
private Label label9;
private FolderBrowserDialog folderBrowserDialog1;
private TextBox serviceDisplayNameTBox;
private TextBox serviceNameTBox;
private Label label11;
private Label label10;
private Button confimDeployBtn;
private Button btnCopy;
private TextBox nginxServiceDisplayNameTbox;
private TextBox nginxServiceNameTbox;
private Label label12;
private Label label13;
}
}

1008
Main.cs Normal file

File diff suppressed because it is too large Load Diff

200
Main.resx Normal file
View File

@ -0,0 +1,200 @@
<root>
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="folderBrowserDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
QHW69f8D447Kbv4U1JoAAAAASUVORK5CYII=
</value>
</data>
</root>

17
Program.cs Normal file
View File

@ -0,0 +1,17 @@
namespace Start
{
internal static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
// To customize application configuration such as set high DPI settings or default font,
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new Main());
}
}
}

BIN
Resource/Data/data.sql Normal file

Binary file not shown.

6970
Resource/Data/dbo.sql Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
Resource/UnInstall.exe Normal file

Binary file not shown.

Binary file not shown.

BIN
favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB