Преглед на файлове

1.recipeHead添加expand
2.使用Inno Setup做安装工具
3.解决Venus_UI内存高的问题

lixiang преди 2 години
родител
ревизия
3b8277256c

+ 2 - 1
.gitignore

@@ -3,4 +3,5 @@
 Debug
 Release
 x64
-Venus/Framework/Output/
+/Venus/Venus_Setup/Output/
+/Venus/Framework/Output/

+ 7 - 7
Venus/Framework/Common/Common.csproj

@@ -36,32 +36,32 @@
       <HintPath>..\..\ThirdParty\dlls\csmatio.dll</HintPath>
     </Reference>
     <Reference Include="DocumentFormat.OpenXml">
-      <HintPath>..\..\ThirdParty\dlls\DocumentFormat.OpenXml.dll</HintPath>
+      <HintPath>..\..\ThirdParty\DocumentFormat.OpenXml.dll</HintPath>
     </Reference>
     <Reference Include="ILNumerics.Net">
-      <HintPath>..\..\ThirdParty\dlls\ILNumerics.Net.dll</HintPath>
+      <HintPath>..\..\ThirdParty\ILNumerics.Net.dll</HintPath>
     </Reference>
     <Reference Include="log4net, Version=2.0.15.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\..\ThirdParty\log4net.dll</HintPath>
     </Reference>
     <Reference Include="Npgsql">
-      <HintPath>..\..\ThirdParty\dlls\Npgsql.dll</HintPath>
+      <HintPath>..\..\ThirdParty\Npgsql.dll</HintPath>
     </Reference>
     <Reference Include="PresentationCore" />
     <Reference Include="PresentationFramework" />
     <Reference Include="PresentationFramework.Aero" />
     <Reference Include="SciChart.Charting">
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Charting.dll</HintPath>
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Charting.dll</HintPath>
     </Reference>
     <Reference Include="SciChart.Core">
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Core.dll</HintPath>
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Core.dll</HintPath>
     </Reference>
     <Reference Include="SciChart.Data">
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Data.dll</HintPath>
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Data.dll</HintPath>
     </Reference>
     <Reference Include="SciChart.Drawing">
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Drawing.dll</HintPath>
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Drawing.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.ComponentModel.DataAnnotations" />

+ 9 - 13
Venus/Framework/UICore/UICore.csproj

@@ -46,21 +46,17 @@
     <Reference Include="PresentationCore" />
     <Reference Include="PresentationFramework" />
     <Reference Include="PresentationFramework.Aero" />
-    <Reference Include="SciChart.Charting, Version=5.2.0.11680, Culture=neutral, PublicKeyToken=b55dd9efe817e823, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Charting.dll</HintPath>
+    <Reference Include="SciChart.Charting">
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Charting.dll</HintPath>
     </Reference>
-    <Reference Include="SciChart.Core, Version=5.2.0.11680, Culture=neutral, PublicKeyToken=b55dd9efe817e823, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Core.dll</HintPath>
+    <Reference Include="SciChart.Core">
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Core.dll</HintPath>
     </Reference>
-    <Reference Include="SciChart.Data, Version=5.2.0.11680, Culture=neutral, PublicKeyToken=b55dd9efe817e823, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Data.dll</HintPath>
+    <Reference Include="SciChart.Data">
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Data.dll</HintPath>
     </Reference>
-    <Reference Include="SciChart.Drawing, Version=5.2.0.11680, Culture=neutral, PublicKeyToken=b55dd9efe817e823, processorArchitecture=MSIL">
-      <SpecificVersion>False</SpecificVersion>
-      <HintPath>..\..\ThirdParty\dlls\SciCart\SciChart.Drawing.dll</HintPath>
+    <Reference Include="SciChart.Drawing">
+      <HintPath>..\..\ThirdParty\SciCart\SciChart.Drawing.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Activities" />
@@ -73,7 +69,7 @@
     <Reference Include="System.Web.Extensions" />
     <Reference Include="System.Windows.Forms" />
     <Reference Include="System.Windows.Interactivity">
-      <HintPath>..\..\ThirdParty\dlls\System.Windows.Interactivity.dll</HintPath>
+      <HintPath>..\..\ThirdParty\System.Windows.Interactivity.dll</HintPath>
     </Reference>
     <Reference Include="System.Windows.Presentation" />
     <Reference Include="System.Xaml" />

+ 6 - 6
Venus/RecipeEditorControl/View/RecipeEditorControl.xaml

@@ -14,8 +14,8 @@
              d:DesignHeight="452" d:DesignWidth="1201" FontFamily="Arial,SimSun">
     <Grid x:Name="grid1">
         <Grid.RowDefinitions>
-            <RowDefinition Height="40" />
-            <RowDefinition Height="426*" />
+            <RowDefinition  Height="Auto"/>
+            <RowDefinition  />
         </Grid.RowDefinitions>
         <Grid.Resources>
             <!--<ResourceDictionary>
@@ -55,10 +55,10 @@
             </xctk:DataGridCollectionViewSource>
         </Grid.Resources>
         <Grid Grid.Row="0">
-            <ScrollViewer Grid.Row="1"  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
-                <StackPanel Orientation="Horizontal" x:Name="headStackpanel">
-                </StackPanel>
-            </ScrollViewer>
+            <Expander Grid.Row="1" Header="RecipeHead" FontSize="15" Margin="10,0,0,0">
+                <WrapPanel  x:Name="headStackpanel" Orientation="Horizontal">
+                </WrapPanel>
+            </Expander>
           
             <!--<TextBlock Text="{Binding RecipeInfo}" Margin="0,5,17,5" HorizontalAlignment="Right" VerticalAlignment="Center" TextAlignment="Right" Width="142" Visibility="{Binding RecipeInfoTextVisibility}" />-->
         </Grid>

+ 1 - 1
Venus/RecipeEditorControl/View/RecipeEditorControl.xaml.cs

@@ -17,7 +17,7 @@ namespace Aitex.UI.RecipeEditor
         public RecipeEditorControl()
         {
             InitializeComponent();
-            ControlViewModel = new RecipeEditorControlViewModel() { GridStackPanel = stackPanel1,HeadStackPanel=headStackpanel};
+            ControlViewModel = new RecipeEditorControlViewModel() { GridStackPanel = stackPanel1,HeadWrapPanel =headStackpanel};
             Loaded += new RoutedEventHandler(RecipeEditorView_Loaded);
         }
 

+ 42 - 12
Venus/RecipeEditorControl/ViewModel/RecipeEditorControlViewModel.cs

@@ -9,6 +9,7 @@ using System.Windows.Controls;
 using System.Windows.Data;
 using System.Windows.Media;
 using Venus_Core;
+using Venus_Core.Attributes;
 
 namespace Aitex.UI.RecipeEditor
 {
@@ -25,7 +26,7 @@ namespace Aitex.UI.RecipeEditor
         
         public StackPanel GridStackPanel { get; set; }    //step容器  
         List<SolidColorBrush> solidColorBrushes = new List<SolidColorBrush>();//step模块颜色
-        public StackPanel HeadStackPanel { get; set; }    //head容器
+        public WrapPanel HeadWrapPanel { get; set; }    //head容器
 
      
     
@@ -57,6 +58,7 @@ namespace Aitex.UI.RecipeEditor
                 recipeStep.LstUnit.Add(new GasControlUnit());
                 recipeStep.LstUnit.Add(new ESCHVUnit());
                 recipeStep.LstUnit.Add(new ProcessKitUnit());
+                recipeStep.StepNo = GridStackPanel.Children.Count;
 
                 CurrentRecipe.Steps.Add(recipeStep);
                 var item = RecipeStepToGrid(recipeStep);
@@ -81,31 +83,39 @@ namespace Aitex.UI.RecipeEditor
         public void LoadRecipe(Recipe recipe)
         {
             GridStackPanel.Children.Clear();
-            CurrentRecipe =recipe;
+            CurrentRecipe = null;
+            
+            GC.Collect(); // This should pick up the control removed at a previous MouseDown
+            GC.WaitForPendingFinalizers(); // Doesn't help either
+            GC.Collect();
+            GC.WaitForPendingFinalizers(); // Doesn't help either
+
+            CurrentRecipe = recipe;
             recipe.Steps.ToList().ForEach(x =>
             {
                 var tupleValue = RecipeStepToGrid(x);
                 GridStackPanel.Children.Add(tupleValue.Item1);
             });
 
-            LoadHeadStackPanel(recipe);
+            LoadHeadWrapPanel(recipe);
         }
         /// <summary>
         /// 选中recipe,头部界面显示
         /// </summary>
         /// <param name="recipe"></param>
-        private void LoadHeadStackPanel(Recipe recipe)
+        private void LoadHeadWrapPanel(Recipe recipe)
         {
-            HeadStackPanel.Children.Clear();
+            HeadWrapPanel.Children.Clear();
             Type type = recipe.Header.GetType();
             foreach (var propertyInfo in type.GetProperties())
             {
                 TextBlock textBlock = new TextBlock();
                 textBlock.FontSize = 15;
+                //textBlock.Width = 100;
                 textBlock.Text = propertyInfo.Name + ":";
                 textBlock.Margin = new Thickness(15, 0, 0, 0);
                 textBlock.VerticalAlignment = VerticalAlignment.Center;
-                HeadStackPanel.Children.Add(textBlock);
+                HeadWrapPanel.Children.Add(textBlock);
                 Binding binding = new Binding()
                 {
                     Source = recipe.Header,                // 数据源  
@@ -122,15 +132,23 @@ namespace Aitex.UI.RecipeEditor
                     case "Int32":
                     case "String":
                         control = new TextBox();
-                        //control.Margin = new Thickness(1, 0, 0, 0);
-                        control.BorderThickness = new Thickness(0);
+                       
+                        control.Margin = new Thickness(1, 0, 0, 0);
+                        control.BorderThickness = new Thickness(0,0,0,1);
+                        //control.BorderBrush = Brushes.Black;
                         control.FontSize = 15;
                         control.Foreground = Brushes.Green;
                         control.Background = Brushes.Transparent;
                         control.VerticalAlignment = VerticalAlignment.Center;
                         control.MinWidth = 15;
+                        //control.Width = 200;
                         control.SetBinding(TextBox.TextProperty, binding);
-                        if (propertyInfoName == "Name" || propertyInfoName == "CreateTime" || propertyInfoName == "LastModifiedBy")
+                        //if (propertyInfoName == "Name" || propertyInfoName == "CreateTime" || propertyInfoName == "LastModifiedBy")
+                        //{
+                        //    (control as TextBox).IsReadOnly = true;
+                        //}
+                        object[] objAttrs = propertyInfo.GetCustomAttributes(typeof(IsOnlyReadAttribute), true);
+                        if (objAttrs.Length > 0)
                         {
                             (control as TextBox).IsReadOnly = true;
                         }
@@ -143,12 +161,12 @@ namespace Aitex.UI.RecipeEditor
 
                     default:
                         control = new ComboBox();
-                        control.Height = 25;
+                        control.Height = 23;
                         control.SetBinding(ComboBox.SelectedItemProperty, binding);
                         ItemsControlHelper.SetEnumValuesToItemsSource(control, true);
                         break;
                 }
-                HeadStackPanel.Children.Add(control);
+                HeadWrapPanel.Children.Add(control);
             }
         }
 
@@ -169,7 +187,7 @@ namespace Aitex.UI.RecipeEditor
             GridOptions.SetShowBorder(grid, true);
             GridOptions.SetLineBrush(grid, Brushes.White);
             GridOptions.SetLineThickness(grid, 1);
-            grid.Margin = new Thickness(15, 0, 0, 0);
+            grid.Margin = new Thickness(15, 5, 0, 0);
 
             Type recipeType = recipeStep.GetType();
             int i = 0;
@@ -198,6 +216,11 @@ namespace Aitex.UI.RecipeEditor
                             grid.Children.Add(textBox);
                             Grid.SetRow(textBox, i);
                             Grid.SetColumn(textBox, 1);
+                            object[] objAttrs = propertyInfo.GetCustomAttributes(typeof(IsOnlyReadAttribute), true);
+                            if (objAttrs.Length > 0)
+                            {
+                                textBox.IsReadOnly = true;
+                            }
                             break;
 
                         case "Boolean":
@@ -276,6 +299,11 @@ namespace Aitex.UI.RecipeEditor
                                 grid.Children.Add(textBox);
                                 Grid.SetRow(textBox, i);
                                 Grid.SetColumn(textBox, 1);
+                                object[] objAttrs = propertyInfo.GetCustomAttributes(typeof(IsOnlyReadAttribute), true);
+                                if (objAttrs.Length > 0)
+                                {
+                                    textBox.IsReadOnly = true;
+                                }
                                 break;
 
                             case "Boolean":
@@ -312,6 +340,8 @@ namespace Aitex.UI.RecipeEditor
             return new ValueTuple<Grid, List<int>>(grid, ints);
         }
 
+
+
         private void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
         {
             if (e.RemovedItems.Count > 0)

BIN
Venus/ThirdParty/DocumentFormat.OpenXml.dll


BIN
Venus/ThirdParty/ILNumerics.Net.dll


BIN
Venus/ThirdParty/Mono.Security.dll


BIN
Venus/ThirdParty/SciCart/SciChart.Charting.dll


BIN
Venus/ThirdParty/SciCart/SciChart.Core.dll


BIN
Venus/ThirdParty/SciCart/SciChart.Data.dll


BIN
Venus/ThirdParty/SciCart/SciChart.Drawing.dll


+ 2 - 2
Venus/Venus.sln

@@ -1,7 +1,7 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 16
-VisualStudioVersion = 16.0.32630.194
+# Visual Studio Version 17
+VisualStudioVersion = 17.2.32630.192
 MinimumVisualStudioVersion = 10.0.40219.1
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Venus_UI", "Venus_UI\Venus_UI.csproj", "{A3CB74E2-00F1-4F24-A4DA-9630713CE8E5}"
 EndProject

+ 12 - 0
Venus/Venus_Core/Attributes/IsOnlyReadAttribute.cs

@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Venus_Core.Attributes
+{
+    public class IsOnlyReadAttribute:Attribute
+    {
+    }
+}

+ 1 - 0
Venus/Venus_Core/ProcessUnitDefine.cs

@@ -6,6 +6,7 @@ using System.ComponentModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
+using Venus_Core.Attributes;
 
 namespace Venus_Core
 {

+ 37 - 0
Venus/Venus_Core/Recipe.cs

@@ -10,6 +10,7 @@ using System.Text;
 using System.Threading.Tasks;
 using Newtonsoft.Json;
 using Newtonsoft.Json.Converters;
+using Venus_Core.Attributes;
 
 namespace Venus_Core
 {
@@ -54,6 +55,7 @@ namespace Venus_Core
     public class RecipeHead: INotifyPropertyChanged
     {
         private string m_name;
+        [IsOnlyRead]
         public string Name
         {
             get { return m_name; }
@@ -87,12 +89,14 @@ namespace Venus_Core
             set{ m_DechuckRecipe = value;InvokePropertyChanged("DechuckRecipe");}
         }
         private string m_CreateTime;
+        [IsOnlyRead]
         public string CreateTime
         {
             get { return m_CreateTime;}
             set { m_CreateTime = value; InvokePropertyChanged("CreateTime"); }
         }
         private string m_LastModifiedBy;
+        [IsOnlyRead]
         public string LastModifiedBy
         {
             get {  return m_LastModifiedBy;}
@@ -116,6 +120,32 @@ namespace Venus_Core
             get { return m_ChillerTemp;}
             set { m_ChillerTemp = value; InvokePropertyChanged("ChillerTemp"); }
         }
+        //private string m_ChillerTemp1;
+        //public string ChillerTemp1
+        //{
+        //    get { return m_ChillerTemp1; }
+        //    set { m_ChillerTemp1 = value; InvokePropertyChanged("ChillerTemp1"); }
+        //}
+        //private string m_ChillerTemp2;
+        //public string ChillerTemp2
+        //{
+        //    get { return m_ChillerTemp2; }
+        //    set { m_ChillerTemp2 = value; InvokePropertyChanged("ChillerTemp2"); }
+        //}
+
+        //private string m_ChillerTemp3;
+        //public string ChillerTemp3
+        //{
+        //    get { return m_ChillerTemp3; }
+        //    set { m_ChillerTemp3 = value; InvokePropertyChanged("ChillerTemp3"); }
+        //}
+
+        //private string m_ChillerTemp4;
+        //public string ChillerTemp4
+        //{
+        //    get { return m_ChillerTemp4; }
+        //    set { m_ChillerTemp4 = value; InvokePropertyChanged("ChillerTemp4"); }
+        //}
 
         public event PropertyChangedEventHandler PropertyChanged;
 
@@ -186,6 +216,13 @@ namespace Venus_Core
             set { m_StepNo = value; InvokePropertyChanged("StepNo"); }
         }
 
+        private int m_StepNo;
+        [IsOnlyRead]
+        public int StepNo
+        {
+            get { return m_StepNo; }
+            set { m_StepNo = value; InvokePropertyChanged("StepNo"); }
+        }
         private StepType m_StepType;
         [JsonConverter(typeof(StringEnumConverter))]
         public StepType Type

+ 2 - 0
Venus/Venus_Core/Venus_Core.csproj

@@ -47,6 +47,7 @@
     <Reference Include="System.Xml" />
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="Attributes\IsOnlyReadAttribute.cs" />
     <Compile Include="DataName.cs" />
     <Compile Include="DeviceName.cs" />
     <Compile Include="EventDefine.cs" />
@@ -61,5 +62,6 @@
     <Compile Include="SerializeHelper.cs" />
     <Compile Include="VenusDevice.cs" />
   </ItemGroup>
+  <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
 </Project>

BIN
Venus/Venus_RT/132-vr.ico


+ 13 - 3
Venus/Venus_RT/Venus_RT.csproj

@@ -53,7 +53,8 @@
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
   <PropertyGroup>
-    <ApplicationIcon>defaultrt.ico</ApplicationIcon>
+    <ApplicationIcon>
+    </ApplicationIcon>
   </PropertyGroup>
   <PropertyGroup>
     <StartupObject />
@@ -66,6 +67,9 @@
       <SpecificVersion>False</SpecificVersion>
       <HintPath>..\ThirdParty\log4net.dll</HintPath>
     </Reference>
+    <Reference Include="Mono.Security">
+      <HintPath>..\ThirdParty\Mono.Security.dll</HintPath>
+    </Reference>
     <Reference Include="System" />
     <Reference Include="System.Configuration" />
     <Reference Include="System.Data" />
@@ -185,10 +189,12 @@
       <DependentUpon>Settings.settings</DependentUpon>
       <DesignTimeSharedInput>True</DesignTimeSharedInput>
     </Compile>
+    <Resource Include="venus.ico" />
     <EmbeddedResource Include="Properties\Resources.resx">
       <Generator>ResXFileCodeGenerator</Generator>
       <LastGenOutput>Resources.Designer.cs</LastGenOutput>
     </EmbeddedResource>
+    <Resource Include="132-vr.ico" />
     <Content Include="Config\Account\Account.xml">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
@@ -301,7 +307,11 @@
   <ItemGroup />
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <PropertyGroup>
-    <PreBuildEvent>python.exe  ../../Config/VenusPreProcess.py
-</PreBuildEvent>
+    <PreBuildEvent>python.exe  ../../Config/VenusPreProcess.py</PreBuildEvent>
+  </PropertyGroup>
+  <PropertyGroup>
+    <PostBuildEvent>if $(ConfigurationName)==Release (
+ISCC.exe "$(SolutionDir)\Venus_Setup\Venus_RT.iss"
+)</PostBuildEvent>
   </PropertyGroup>
 </Project>

BIN
Venus/Venus_RT/venus.ico


+ 47 - 0
Venus/Venus_Setup/License.txt

@@ -0,0 +1,47 @@
+欢迎使用稷以科技Plasma设备!
+
+
+请务必认真阅读和理解本《软件许可使用协议》(以下简称《协议》)中规定的所有权利和限制。除非您接受本《协议》条款,否则您无权下载、安装或使用本"软件"及其相关服务。您一旦安装、复制、下载、访问或以其它方式使用本软件产品,将视为对本《协议》的接受,即表示您同意接受本《协议》各项条款的约束。如果您不同意本《协议》中的条款,请不要安装、复制或使用本软件。
+
+本《协议》是用户与上海稷以科技有限公司之间关于用户下载、安装、使用、复制随附本《协议》的软件(以下简称“软件”)的法律协议。
+
+
+1.权利声明
+
+本“软件”的一切知识产权,以及与“软件”相关的所有信息内容,包括但不限于:文字表述及其组合、图标、图饰、图像、图表、色彩、界面设计、版面框架、有关数据、附加程序、印刷材料或电子文档等均为稷以科技光电所有,受著作权法和国际著作权条约以及其他知识产权法律法规的保护。
+
+
+2.许可范围
+
+2.1下载、安装和使用:本软件为免费软件,用户可以非商业性、无限制数量地下载、安装及使用本软件。
+
+2.2复制、分发和传播:用户可以非商业性、无限制数量地复制、分发和传播本软件产品。但必须保证每一份复制、分发和传播都是完整和真实的,包括所有有关本软件产品的软件、电子文档,版权和商标,亦包括本协议。
+
+
+3.权利限制
+
+3.1禁止反向工程、反向编译和反向汇编:用户不得对本软件产品进行反向工程(ReverseEngineer)、反向编译(Decompile)或反向汇编(Disassemble),同时不得改动编译在程序文件内部的任何资源。除法律、法规明文规定允许上述活动外,用户必须遵守此协议限制。
+
+3.2组件分割:本软件产品是作为一个单一产品而被授予许可使用,用户不得将各个部分分开用于任何目的。
+
+3.3个别授权:如需进行商业性的销售、复制、分发,包括但不限于软件销售、预装、捆绑等,必须获得稷以科技光电的书面授权和许可。
+
+
+4.用户使用须知
+
+4.1软件功能:本软件提供Plasma设备的控制、管理、数据服务等多个功能。
+
+4.2本软件仅适用于稷以科技Plasma设备的PM系统,软件可随操作系统启动而自动运行,以便随时提供所有功能服务并减少响应时间。
+
+4.3本软件由稷以科技公司软件部提供产品支持。
+
+4.4软件的修改和升级:稷以科技有限公司保留随时为用户提供本软件的修改、升级版本的权利。
+
+
+5.其他条款
+
+5.1如果本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力,或违反任何适用的法律,则该条款被视为删除,但本协议的其余条款仍应有效并且有约束力。
+
+5.2稷以科技公司有权随时根据有关法律、法规的变化以及公司经营状况和经营策略的调整等修改本协议。
+
+5.3稷以科技在法律允许最大范围内对本协议拥有解释权与修改权。 

+ 42 - 0
Venus/Venus_Setup/Venus_RT.iss

@@ -0,0 +1,42 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "Venus_RT"
+#define MyAppVersion "2.0"
+#define MyAppPublisher "JET PLASMA"
+#define MyAppURL "http://www.jetplasma.com/"
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
+AppId={{56BC97AA-FAE3-4809-8D12-58DF2FEFD19A}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+;AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={autopf}\{#MyAppName}
+DefaultGroupName={#MyAppName}
+; Uncomment the following line to run in non administrative install mode (install for current user only.)
+;PrivilegesRequired=lowest
+OutputBaseFilename={#MyAppName}
+Compression=lzma
+SolidCompression=yes
+WizardStyle=modern
+LicenseFile=License.txt
+
+[Languages]
+Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
+
+
+[Files]
+Source: "..\Venus_RT\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: "{userdesktop}\{#MyAppName}";Filename: "{app}\{#MyAppName}.exe"; WorkingDir: "{app}"
+
+
+

+ 39 - 0
Venus/Venus_Setup/Venus_UI.iss

@@ -0,0 +1,39 @@
+; Script generated by the Inno Setup Script Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "Venus_UI"
+#define MyAppVersion "1.0"
+#define MyAppPublisher "JET PLASMA"
+#define MyAppURL "http://www.jetplasma.com/"
+
+[Setup]
+; NOTE: The value of AppId uniquely identifies this application. Do not use the same AppId value in installers for other applications.
+; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
+AppId={{4A2E0497-2CC6-4FF7-BECB-B140EC9A541F}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+;AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={autopf}\{#MyAppName}
+DefaultGroupName={#MyAppName}
+; Uncomment the following line to run in non administrative install mode (install for current user only.)
+;PrivilegesRequired=lowest
+OutputBaseFilename={#MyAppName}
+Compression=lzma
+SolidCompression=yes
+WizardStyle=modern
+LicenseFile=License.txt
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+Source: "..\Venus_UI\bin\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: "{userdesktop}\{#MyAppName}";Filename: "{app}\{#MyAppName}.exe"; WorkingDir: "{app}"
+

+ 12 - 0
Venus/Venus_UI/Venus_UI.csproj

@@ -51,6 +51,10 @@
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
   </PropertyGroup>
+  <PropertyGroup>
+    <ApplicationIcon>
+    </ApplicationIcon>
+  </PropertyGroup>
   <ItemGroup>
     <Reference Include="CommonServiceLocator">
       <HintPath>..\ThirdParty\CommonServiceLocator.dll</HintPath>
@@ -206,5 +210,13 @@
       <Install>false</Install>
     </BootstrapperPackage>
   </ItemGroup>
+  <ItemGroup>
+    <Resource Include="default_ui.ico" />
+  </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <PropertyGroup>
+    <PostBuildEvent>if $(ConfigurationName)==Release (
+ISCC.exe "$(SolutionDir)\Venus_Setup\Venus_UI.iss"
+)</PostBuildEvent>
+  </PropertyGroup>
 </Project>

BIN
Venus/Venus_UI/default_ui.ico