Improvements to Rebel Software Installer UI and implemented LoadInternal - incomplete compression
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<UniversalEditor Version="4.0">
|
||||
<Associations>
|
||||
<Association>
|
||||
<Filters>
|
||||
<Filter Title="Rebel Software Installation Package">
|
||||
<FileNameFilters>
|
||||
<FileNameFilter>*.zap</FileNameFilter>
|
||||
</FileNameFilters>
|
||||
</Filter>
|
||||
</Filters>
|
||||
<ObjectModels>
|
||||
<ObjectModel TypeName="UniversalEditor.ObjectModels.FileSystem.FileSystemObjectModel" />
|
||||
</ObjectModels>
|
||||
<DataFormats>
|
||||
<DataFormat TypeName="UniversalEditor.DataFormats.RebelSoftware.InstallationPackage.ZAPDataFormat" />
|
||||
</DataFormats>
|
||||
</Association>
|
||||
</Associations>
|
||||
</UniversalEditor>
|
||||
@ -41,6 +41,7 @@
|
||||
<Content Include="Associations\Markup.xml" />
|
||||
<Content Include="Associations\DataLink.xml" />
|
||||
<Content Include="Associations\PropertyList.xml" />
|
||||
<Content Include="Associations\RebelSoftware\InstallationPackage.xml" />
|
||||
<Content Include="Associations\RebelSoftware\InstallationScript.xml" />
|
||||
<Content Include="Associations\SecurityCertificate.xml" />
|
||||
<Content Include="Associations\Shortcut.xml" />
|
||||
|
||||
@ -28,24 +28,394 @@
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("Product");
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("Dialogs");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("Shortcuts");
|
||||
System.Windows.Forms.ListViewItem listViewItem1 = new System.Windows.Forms.ListViewItem("Welcome");
|
||||
System.Windows.Forms.ListViewItem listViewItem2 = new System.Windows.Forms.ListViewItem("License");
|
||||
System.Windows.Forms.ListViewItem listViewItem3 = new System.Windows.Forms.ListViewItem("Destination");
|
||||
System.Windows.Forms.ListViewItem listViewItem4 = new System.Windows.Forms.ListViewItem("Summary");
|
||||
System.Windows.Forms.ListViewItem listViewItem5 = new System.Windows.Forms.ListViewItem("Progress");
|
||||
System.Windows.Forms.ListViewItem listViewItem6 = new System.Windows.Forms.ListViewItem("Finish");
|
||||
this.tvExplorer = new System.Windows.Forms.TreeView();
|
||||
this.scMain = new System.Windows.Forms.SplitContainer();
|
||||
this.pnlProduct = new System.Windows.Forms.Panel();
|
||||
this.lblProductName = new System.Windows.Forms.Label();
|
||||
this.txtProductName = new System.Windows.Forms.TextBox();
|
||||
this.lblProductVersion = new System.Windows.Forms.Label();
|
||||
this.txtProductVersion = new System.Windows.Forms.TextBox();
|
||||
this.lblProductDiskSpace = new System.Windows.Forms.Label();
|
||||
this.txtProductDiskSpace = new System.Windows.Forms.TextBox();
|
||||
this.button1 = new System.Windows.Forms.Button();
|
||||
this.lblProductBackgroundColor = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.button2 = new System.Windows.Forms.Button();
|
||||
this.lblProductBackgroundImage = new System.Windows.Forms.Label();
|
||||
this.txtProductBackgroundImage = new System.Windows.Forms.TextBox();
|
||||
this.cmdBrowseProductBackgroundImage = new System.Windows.Forms.Button();
|
||||
this.pnlDialogs = new System.Windows.Forms.Panel();
|
||||
this.lvDialogs = new System.Windows.Forms.ListView();
|
||||
this.chTitle = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||
this.cmdDialogMoveUp = new System.Windows.Forms.Button();
|
||||
this.cmdDialogMoveDown = new System.Windows.Forms.Button();
|
||||
this.fraProperties = new System.Windows.Forms.GroupBox();
|
||||
this.fraPreview = new System.Windows.Forms.GroupBox();
|
||||
this.picDialogPreview = new System.Windows.Forms.PictureBox();
|
||||
this.pnlDialogPropertiesNone = new System.Windows.Forms.Panel();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.scMain.Panel1.SuspendLayout();
|
||||
this.scMain.Panel2.SuspendLayout();
|
||||
this.scMain.SuspendLayout();
|
||||
this.pnlProduct.SuspendLayout();
|
||||
this.pnlDialogs.SuspendLayout();
|
||||
this.fraProperties.SuspendLayout();
|
||||
this.fraPreview.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.picDialogPreview)).BeginInit();
|
||||
this.pnlDialogPropertiesNone.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// tvExplorer
|
||||
//
|
||||
this.tvExplorer.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tvExplorer.HideSelection = false;
|
||||
this.tvExplorer.Location = new System.Drawing.Point(0, 0);
|
||||
this.tvExplorer.Name = "tvExplorer";
|
||||
this.tvExplorer.Size = new System.Drawing.Size(544, 400);
|
||||
treeNode1.Name = "nodeProduct";
|
||||
treeNode1.Text = "Product";
|
||||
treeNode2.Name = "nodeDialogs";
|
||||
treeNode2.Text = "Dialogs";
|
||||
treeNode3.Name = "nodeShortcuts";
|
||||
treeNode3.Text = "Shortcuts";
|
||||
this.tvExplorer.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3});
|
||||
this.tvExplorer.Size = new System.Drawing.Size(181, 406);
|
||||
this.tvExplorer.TabIndex = 0;
|
||||
this.tvExplorer.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tvExplorer_AfterSelect);
|
||||
//
|
||||
// scMain
|
||||
//
|
||||
this.scMain.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.scMain.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.scMain.Location = new System.Drawing.Point(0, 0);
|
||||
this.scMain.Name = "scMain";
|
||||
//
|
||||
// scMain.Panel1
|
||||
//
|
||||
this.scMain.Panel1.Controls.Add(this.tvExplorer);
|
||||
//
|
||||
// scMain.Panel2
|
||||
//
|
||||
this.scMain.Panel2.Controls.Add(this.pnlDialogs);
|
||||
this.scMain.Panel2.Controls.Add(this.pnlProduct);
|
||||
this.scMain.Size = new System.Drawing.Size(534, 406);
|
||||
this.scMain.SplitterDistance = 181;
|
||||
this.scMain.TabIndex = 1;
|
||||
//
|
||||
// pnlProduct
|
||||
//
|
||||
this.pnlProduct.Controls.Add(this.cmdBrowseProductBackgroundImage);
|
||||
this.pnlProduct.Controls.Add(this.button2);
|
||||
this.pnlProduct.Controls.Add(this.button1);
|
||||
this.pnlProduct.Controls.Add(this.label3);
|
||||
this.pnlProduct.Controls.Add(this.txtProductBackgroundImage);
|
||||
this.pnlProduct.Controls.Add(this.txtProductDiskSpace);
|
||||
this.pnlProduct.Controls.Add(this.label2);
|
||||
this.pnlProduct.Controls.Add(this.lblProductBackgroundImage);
|
||||
this.pnlProduct.Controls.Add(this.lblProductBackgroundColor);
|
||||
this.pnlProduct.Controls.Add(this.lblProductDiskSpace);
|
||||
this.pnlProduct.Controls.Add(this.txtProductVersion);
|
||||
this.pnlProduct.Controls.Add(this.lblProductVersion);
|
||||
this.pnlProduct.Controls.Add(this.txtProductName);
|
||||
this.pnlProduct.Controls.Add(this.lblProductName);
|
||||
this.pnlProduct.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlProduct.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlProduct.Name = "pnlProduct";
|
||||
this.pnlProduct.Size = new System.Drawing.Size(349, 406);
|
||||
this.pnlProduct.TabIndex = 0;
|
||||
//
|
||||
// lblProductName
|
||||
//
|
||||
this.lblProductName.AutoSize = true;
|
||||
this.lblProductName.Location = new System.Drawing.Point(3, 6);
|
||||
this.lblProductName.Name = "lblProductName";
|
||||
this.lblProductName.Size = new System.Drawing.Size(76, 13);
|
||||
this.lblProductName.TabIndex = 0;
|
||||
this.lblProductName.Text = "Product &name:";
|
||||
//
|
||||
// txtProductName
|
||||
//
|
||||
this.txtProductName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProductName.Location = new System.Drawing.Point(108, 3);
|
||||
this.txtProductName.Name = "txtProductName";
|
||||
this.txtProductName.Size = new System.Drawing.Size(238, 20);
|
||||
this.txtProductName.TabIndex = 1;
|
||||
this.txtProductName.Text = "My Application";
|
||||
//
|
||||
// lblProductVersion
|
||||
//
|
||||
this.lblProductVersion.AutoSize = true;
|
||||
this.lblProductVersion.Location = new System.Drawing.Point(3, 32);
|
||||
this.lblProductVersion.Name = "lblProductVersion";
|
||||
this.lblProductVersion.Size = new System.Drawing.Size(84, 13);
|
||||
this.lblProductVersion.TabIndex = 0;
|
||||
this.lblProductVersion.Text = "Product &version:";
|
||||
//
|
||||
// txtProductVersion
|
||||
//
|
||||
this.txtProductVersion.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProductVersion.Location = new System.Drawing.Point(108, 29);
|
||||
this.txtProductVersion.Name = "txtProductVersion";
|
||||
this.txtProductVersion.Size = new System.Drawing.Size(238, 20);
|
||||
this.txtProductVersion.TabIndex = 1;
|
||||
this.txtProductVersion.Text = "1.0.0.0";
|
||||
//
|
||||
// lblProductDiskSpace
|
||||
//
|
||||
this.lblProductDiskSpace.AutoSize = true;
|
||||
this.lblProductDiskSpace.Location = new System.Drawing.Point(3, 58);
|
||||
this.lblProductDiskSpace.Name = "lblProductDiskSpace";
|
||||
this.lblProductDiskSpace.Size = new System.Drawing.Size(63, 13);
|
||||
this.lblProductDiskSpace.TabIndex = 0;
|
||||
this.lblProductDiskSpace.Text = "&Disk space:";
|
||||
//
|
||||
// txtProductDiskSpace
|
||||
//
|
||||
this.txtProductDiskSpace.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProductDiskSpace.Location = new System.Drawing.Point(108, 55);
|
||||
this.txtProductDiskSpace.Name = "txtProductDiskSpace";
|
||||
this.txtProductDiskSpace.Size = new System.Drawing.Size(238, 20);
|
||||
this.txtProductDiskSpace.TabIndex = 1;
|
||||
this.txtProductDiskSpace.Text = "60";
|
||||
//
|
||||
// button1
|
||||
//
|
||||
this.button1.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.button1.BackColor = System.Drawing.Color.Blue;
|
||||
this.button1.Location = new System.Drawing.Point(147, 81);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 23);
|
||||
this.button1.TabIndex = 2;
|
||||
this.button1.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// lblProductBackgroundColor
|
||||
//
|
||||
this.lblProductBackgroundColor.AutoSize = true;
|
||||
this.lblProductBackgroundColor.Location = new System.Drawing.Point(3, 86);
|
||||
this.lblProductBackgroundColor.Name = "lblProductBackgroundColor";
|
||||
this.lblProductBackgroundColor.Size = new System.Drawing.Size(94, 13);
|
||||
this.lblProductBackgroundColor.TabIndex = 0;
|
||||
this.lblProductBackgroundColor.Text = "Background color:";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.label2.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.label2.Location = new System.Drawing.Point(144, 107);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(78, 18);
|
||||
this.label2.TabIndex = 0;
|
||||
this.label2.Text = "Top";
|
||||
this.label2.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.label3.FlatStyle = System.Windows.Forms.FlatStyle.System;
|
||||
this.label3.Location = new System.Drawing.Point(225, 107);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(78, 18);
|
||||
this.label3.TabIndex = 0;
|
||||
this.label3.Text = "Bottom";
|
||||
this.label3.TextAlign = System.Drawing.ContentAlignment.TopCenter;
|
||||
//
|
||||
// button2
|
||||
//
|
||||
this.button2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.button2.BackColor = System.Drawing.Color.Black;
|
||||
this.button2.Location = new System.Drawing.Point(228, 81);
|
||||
this.button2.Name = "button2";
|
||||
this.button2.Size = new System.Drawing.Size(75, 23);
|
||||
this.button2.TabIndex = 2;
|
||||
this.button2.UseVisualStyleBackColor = false;
|
||||
//
|
||||
// lblProductBackgroundImage
|
||||
//
|
||||
this.lblProductBackgroundImage.AutoSize = true;
|
||||
this.lblProductBackgroundImage.Location = new System.Drawing.Point(3, 131);
|
||||
this.lblProductBackgroundImage.Name = "lblProductBackgroundImage";
|
||||
this.lblProductBackgroundImage.Size = new System.Drawing.Size(99, 13);
|
||||
this.lblProductBackgroundImage.TabIndex = 0;
|
||||
this.lblProductBackgroundImage.Text = "Background &image:";
|
||||
//
|
||||
// txtProductBackgroundImage
|
||||
//
|
||||
this.txtProductBackgroundImage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProductBackgroundImage.Location = new System.Drawing.Point(108, 128);
|
||||
this.txtProductBackgroundImage.Name = "txtProductBackgroundImage";
|
||||
this.txtProductBackgroundImage.Size = new System.Drawing.Size(238, 20);
|
||||
this.txtProductBackgroundImage.TabIndex = 1;
|
||||
//
|
||||
// cmdBrowseProductBackgroundImage
|
||||
//
|
||||
this.cmdBrowseProductBackgroundImage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmdBrowseProductBackgroundImage.Location = new System.Drawing.Point(271, 154);
|
||||
this.cmdBrowseProductBackgroundImage.Name = "cmdBrowseProductBackgroundImage";
|
||||
this.cmdBrowseProductBackgroundImage.Size = new System.Drawing.Size(75, 23);
|
||||
this.cmdBrowseProductBackgroundImage.TabIndex = 3;
|
||||
this.cmdBrowseProductBackgroundImage.Text = "&Browse...";
|
||||
this.cmdBrowseProductBackgroundImage.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// pnlDialogs
|
||||
//
|
||||
this.pnlDialogs.Controls.Add(this.fraPreview);
|
||||
this.pnlDialogs.Controls.Add(this.fraProperties);
|
||||
this.pnlDialogs.Controls.Add(this.cmdDialogMoveDown);
|
||||
this.pnlDialogs.Controls.Add(this.cmdDialogMoveUp);
|
||||
this.pnlDialogs.Controls.Add(this.lvDialogs);
|
||||
this.pnlDialogs.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.pnlDialogs.Location = new System.Drawing.Point(0, 0);
|
||||
this.pnlDialogs.Name = "pnlDialogs";
|
||||
this.pnlDialogs.Size = new System.Drawing.Size(349, 406);
|
||||
this.pnlDialogs.TabIndex = 1;
|
||||
//
|
||||
// lvDialogs
|
||||
//
|
||||
this.lvDialogs.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lvDialogs.CheckBoxes = true;
|
||||
this.lvDialogs.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
||||
this.chTitle});
|
||||
this.lvDialogs.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
|
||||
listViewItem1.StateImageIndex = 0;
|
||||
listViewItem2.StateImageIndex = 0;
|
||||
listViewItem3.StateImageIndex = 0;
|
||||
listViewItem4.StateImageIndex = 0;
|
||||
listViewItem5.StateImageIndex = 0;
|
||||
listViewItem6.StateImageIndex = 0;
|
||||
this.lvDialogs.Items.AddRange(new System.Windows.Forms.ListViewItem[] {
|
||||
listViewItem1,
|
||||
listViewItem2,
|
||||
listViewItem3,
|
||||
listViewItem4,
|
||||
listViewItem5,
|
||||
listViewItem6});
|
||||
this.lvDialogs.Location = new System.Drawing.Point(3, 3);
|
||||
this.lvDialogs.Name = "lvDialogs";
|
||||
this.lvDialogs.Size = new System.Drawing.Size(262, 119);
|
||||
this.lvDialogs.TabIndex = 0;
|
||||
this.lvDialogs.UseCompatibleStateImageBehavior = false;
|
||||
this.lvDialogs.View = System.Windows.Forms.View.Details;
|
||||
this.lvDialogs.SelectedIndexChanged += new System.EventHandler(this.lvDialogs_SelectedIndexChanged);
|
||||
//
|
||||
// chTitle
|
||||
//
|
||||
this.chTitle.Text = "Title";
|
||||
this.chTitle.Width = 169;
|
||||
//
|
||||
// cmdDialogMoveUp
|
||||
//
|
||||
this.cmdDialogMoveUp.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmdDialogMoveUp.Location = new System.Drawing.Point(271, 3);
|
||||
this.cmdDialogMoveUp.Name = "cmdDialogMoveUp";
|
||||
this.cmdDialogMoveUp.Size = new System.Drawing.Size(75, 23);
|
||||
this.cmdDialogMoveUp.TabIndex = 1;
|
||||
this.cmdDialogMoveUp.Text = "Move &Up";
|
||||
this.cmdDialogMoveUp.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// cmdDialogMoveDown
|
||||
//
|
||||
this.cmdDialogMoveDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.cmdDialogMoveDown.Location = new System.Drawing.Point(271, 32);
|
||||
this.cmdDialogMoveDown.Name = "cmdDialogMoveDown";
|
||||
this.cmdDialogMoveDown.Size = new System.Drawing.Size(75, 23);
|
||||
this.cmdDialogMoveDown.TabIndex = 1;
|
||||
this.cmdDialogMoveDown.Text = "Move &Down";
|
||||
this.cmdDialogMoveDown.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// fraProperties
|
||||
//
|
||||
this.fraProperties.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.fraProperties.Controls.Add(this.pnlDialogPropertiesNone);
|
||||
this.fraProperties.Location = new System.Drawing.Point(3, 128);
|
||||
this.fraProperties.Name = "fraProperties";
|
||||
this.fraProperties.Size = new System.Drawing.Size(343, 111);
|
||||
this.fraProperties.TabIndex = 2;
|
||||
this.fraProperties.TabStop = false;
|
||||
this.fraProperties.Text = "Properties";
|
||||
//
|
||||
// fraPreview
|
||||
//
|
||||
this.fraPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.fraPreview.Controls.Add(this.picDialogPreview);
|
||||
this.fraPreview.Location = new System.Drawing.Point(3, 245);
|
||||
this.fraPreview.Name = "fraPreview";
|
||||
this.fraPreview.Size = new System.Drawing.Size(343, 158);
|
||||
this.fraPreview.TabIndex = 2;
|
||||
this.fraPreview.TabStop = false;
|
||||
this.fraPreview.Text = "Preview";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.picDialogPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.picDialogPreview.Image = global::UniversalEditor.Properties.Resources.Screenshot_Install_01_Welcome;
|
||||
this.picDialogPreview.Location = new System.Drawing.Point(6, 19);
|
||||
this.picDialogPreview.Name = "pictureBox1";
|
||||
this.picDialogPreview.Size = new System.Drawing.Size(331, 133);
|
||||
this.picDialogPreview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
|
||||
this.picDialogPreview.TabIndex = 0;
|
||||
this.picDialogPreview.TabStop = false;
|
||||
//
|
||||
// pnlDialogPropertiesNone
|
||||
//
|
||||
this.pnlDialogPropertiesNone.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.pnlDialogPropertiesNone.Controls.Add(this.label1);
|
||||
this.pnlDialogPropertiesNone.Location = new System.Drawing.Point(6, 19);
|
||||
this.pnlDialogPropertiesNone.Name = "pnlDialogPropertiesNone";
|
||||
this.pnlDialogPropertiesNone.Size = new System.Drawing.Size(331, 86);
|
||||
this.pnlDialogPropertiesNone.TabIndex = 0;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(52, 37);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(227, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "There are no properties available for this dialog";
|
||||
//
|
||||
// InstallationScriptEditor
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.tvExplorer);
|
||||
this.Controls.Add(this.scMain);
|
||||
this.Name = "InstallationScriptEditor";
|
||||
this.Size = new System.Drawing.Size(544, 400);
|
||||
this.Size = new System.Drawing.Size(534, 406);
|
||||
this.scMain.Panel1.ResumeLayout(false);
|
||||
this.scMain.Panel2.ResumeLayout(false);
|
||||
this.scMain.ResumeLayout(false);
|
||||
this.pnlProduct.ResumeLayout(false);
|
||||
this.pnlProduct.PerformLayout();
|
||||
this.pnlDialogs.ResumeLayout(false);
|
||||
this.fraProperties.ResumeLayout(false);
|
||||
this.fraPreview.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.picDialogPreview)).EndInit();
|
||||
this.pnlDialogPropertiesNone.ResumeLayout(false);
|
||||
this.pnlDialogPropertiesNone.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
@ -53,5 +423,31 @@
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.TreeView tvExplorer;
|
||||
private System.Windows.Forms.SplitContainer scMain;
|
||||
private System.Windows.Forms.Panel pnlProduct;
|
||||
private System.Windows.Forms.TextBox txtProductName;
|
||||
private System.Windows.Forms.Label lblProductName;
|
||||
private System.Windows.Forms.TextBox txtProductDiskSpace;
|
||||
private System.Windows.Forms.Label lblProductDiskSpace;
|
||||
private System.Windows.Forms.TextBox txtProductVersion;
|
||||
private System.Windows.Forms.Label lblProductVersion;
|
||||
private System.Windows.Forms.Button button2;
|
||||
private System.Windows.Forms.Button button1;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label lblProductBackgroundColor;
|
||||
private System.Windows.Forms.Button cmdBrowseProductBackgroundImage;
|
||||
private System.Windows.Forms.TextBox txtProductBackgroundImage;
|
||||
private System.Windows.Forms.Label lblProductBackgroundImage;
|
||||
private System.Windows.Forms.Panel pnlDialogs;
|
||||
private System.Windows.Forms.Button cmdDialogMoveDown;
|
||||
private System.Windows.Forms.Button cmdDialogMoveUp;
|
||||
private System.Windows.Forms.ListView lvDialogs;
|
||||
private System.Windows.Forms.ColumnHeader chTitle;
|
||||
private System.Windows.Forms.GroupBox fraPreview;
|
||||
private System.Windows.Forms.GroupBox fraProperties;
|
||||
private System.Windows.Forms.PictureBox picDialogPreview;
|
||||
private System.Windows.Forms.Panel pnlDialogPropertiesNone;
|
||||
private System.Windows.Forms.Label label1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -37,46 +37,132 @@ namespace UniversalEditor.Editors.RebelSoftware.InstallationScript
|
||||
{
|
||||
base.OnObjectModelChanged(e);
|
||||
|
||||
tvExplorer.Nodes.Clear();
|
||||
lvDialogs.Items.Clear();
|
||||
|
||||
InstallationScriptObjectModel script = (ObjectModel as InstallationScriptObjectModel);
|
||||
if (script == null) return;
|
||||
|
||||
TreeNode nodeDialogs = new TreeNode("Dialogs");
|
||||
nodeDialogs.ImageKey = "generic-folder-closed";
|
||||
lvDialogs.Items.Clear();
|
||||
|
||||
foreach (ISDialog dialog in script.Dialogs)
|
||||
{
|
||||
TreeNode tn = new TreeNode();
|
||||
if (dialog is CopyFilesDialog)
|
||||
{
|
||||
tn.Text = "CopyFiles";
|
||||
}
|
||||
else if (dialog is DestinationDialog)
|
||||
{
|
||||
tn.Text = "Destination";
|
||||
}
|
||||
else if (dialog is FinishDialog)
|
||||
{
|
||||
tn.Text = "Finish";
|
||||
}
|
||||
else if (dialog is LicenseDialog)
|
||||
{
|
||||
tn.Text = "License";
|
||||
}
|
||||
else if (dialog is StartCopyingDialog)
|
||||
{
|
||||
tn.Text = "StartCopying";
|
||||
}
|
||||
else if (dialog is WelcomeDialog)
|
||||
{
|
||||
tn.Text = "Welcome";
|
||||
}
|
||||
nodeDialogs.Nodes.Add(tn);
|
||||
ListViewItem lviDialog = new ListViewItem();
|
||||
lviDialog.Name = dialog.GetType().FullName;
|
||||
lviDialog.Checked = true;
|
||||
lviDialog.Tag = dialog;
|
||||
lviDialog.Text = GetDialogTitle(dialog);
|
||||
lvDialogs.Items.Add(lviDialog);
|
||||
}
|
||||
|
||||
tvExplorer.Nodes.Add(nodeDialogs);
|
||||
Type[] types = typeof(ISDialog).Assembly.GetTypes();
|
||||
List<Type> dialogTypes = new List<Type>();
|
||||
foreach (Type t in types)
|
||||
{
|
||||
if (!t.IsAbstract && t.IsSubclassOf(typeof(ISDialog)))
|
||||
{
|
||||
dialogTypes.Add(t);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (Type t in dialogTypes)
|
||||
{
|
||||
if (!lvDialogs.Items.ContainsKey(t.FullName))
|
||||
{
|
||||
ISDialog dialog = (ISDialog)t.Assembly.CreateInstance(t.FullName);
|
||||
|
||||
ListViewItem lvi = new ListViewItem();
|
||||
lvi.Name = t.FullName;
|
||||
lvi.Text = GetDialogTitle(dialog);
|
||||
lvi.Tag = dialog;
|
||||
lvi.Checked = false;
|
||||
lvDialogs.Items.Add(lvi);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string GetDialogTitle(ISDialog dialog)
|
||||
{
|
||||
if (dialog is CopyFilesDialog)
|
||||
{
|
||||
return "Progress";
|
||||
}
|
||||
else if (dialog is DestinationDialog)
|
||||
{
|
||||
return "Destination";
|
||||
}
|
||||
else if (dialog is FinishDialog)
|
||||
{
|
||||
return "Finish";
|
||||
}
|
||||
else if (dialog is LicenseDialog)
|
||||
{
|
||||
return "License";
|
||||
}
|
||||
else if (dialog is StartCopyingDialog)
|
||||
{
|
||||
return "Summary";
|
||||
}
|
||||
else if (dialog is WelcomeDialog)
|
||||
{
|
||||
return "Welcome";
|
||||
}
|
||||
return dialog.GetType().FullName;
|
||||
}
|
||||
|
||||
private void tvExplorer_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
foreach (Control ctl in scMain.Panel2.Controls)
|
||||
{
|
||||
if (e.Node != null)
|
||||
{
|
||||
if (ctl.Name.Substring(3) == e.Node.Name.Substring(4))
|
||||
{
|
||||
ctl.Enabled = true;
|
||||
ctl.Visible = true;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
ctl.Visible = false;
|
||||
ctl.Enabled = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void lvDialogs_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (lvDialogs.SelectedItems.Count != 1) return;
|
||||
|
||||
ListViewItem lvi = lvDialogs.SelectedItems[0];
|
||||
|
||||
picDialogPreview.Image = null;
|
||||
|
||||
ISDialog dialog = (lvi.Tag as ISDialog);
|
||||
if (dialog == null) return;
|
||||
|
||||
if (dialog is CopyFilesDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_05_Progress;
|
||||
}
|
||||
else if (dialog is DestinationDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_03_Destination;
|
||||
}
|
||||
else if (dialog is FinishDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_06_Finish;
|
||||
}
|
||||
else if (dialog is LicenseDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_02_License;
|
||||
}
|
||||
else if (dialog is StartCopyingDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_04_Summary;
|
||||
}
|
||||
else if (dialog is WelcomeDialog)
|
||||
{
|
||||
picDialogPreview.Image = Properties.Resources.Screenshot_Install_01_Welcome;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -0,0 +1,153 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.18444
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace UniversalEditor.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("UniversalEditor.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_01_Welcome {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_01_Welcome", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_02_License {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_02_License", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_03_Destination {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_03_Destination", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_04_Summary {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_04_Summary", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_05_Progress {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_05_Progress", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Install_06_Finish {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Install_06_Finish", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Uninstall_01_Welcome {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Uninstall_01_Welcome", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Uninstall_02_Progress {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Uninstall_02_Progress", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Screenshot_Uninstall_03_Finish {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Screenshot_Uninstall_03_Finish", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,148 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Screenshot_Install_01_Welcome" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_01_Welcome.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Install_02_License" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_02_License.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Install_03_Destination" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_03_Destination.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Install_04_Summary" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_04_Summary.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Install_05_Progress" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_05_Progress.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Install_06_Finish" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Install_06_Finish.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Uninstall_01_Welcome" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Uninstall_01_Welcome.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Uninstall_02_Progress" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Uninstall_02_Progress.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Screenshot_Uninstall_03_Finish" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Screenshot_Uninstall_03_Finish.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
||||
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
|
After Width: | Height: | Size: 506 KiB |
@ -44,11 +44,20 @@
|
||||
<DependentUpon>InstallationScriptEditor.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DesignTime>True</DesignTime>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<EmbeddedResource Include="Editors\RebelSoftware\InstallationScript\InstallationScriptEditor.resx">
|
||||
<DependentUpon>InstallationScriptEditor.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
|
||||
@ -72,6 +81,33 @@
|
||||
<Name>UniversalEditor.UserInterface.WindowsForms</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_01_Welcome.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_02_License.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_03_Destination.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_04_Summary.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_05_Progress.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Install_06_Finish.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Uninstall_01_Welcome.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Uninstall_02_Progress.bmp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Screenshot_Uninstall_03_Finish.bmp" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
||||
@ -0,0 +1,113 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using UniversalEditor.IO;
|
||||
using UniversalEditor.ObjectModels.FileSystem;
|
||||
|
||||
namespace UniversalEditor.DataFormats.RebelSoftware.InstallationPackage
|
||||
{
|
||||
public class ZAPDataFormat : DataFormat
|
||||
{
|
||||
private static DataFormatReference _dfr = null;
|
||||
protected override DataFormatReference MakeReferenceInternal()
|
||||
{
|
||||
if (_dfr == null)
|
||||
{
|
||||
_dfr = base.MakeReferenceInternal();
|
||||
_dfr.Capabilities.Add(typeof(FileSystemObjectModel), DataFormatCapabilities.All);
|
||||
}
|
||||
return _dfr;
|
||||
}
|
||||
|
||||
private uint? mvarArchiveOffset = null;
|
||||
/// <summary>
|
||||
/// The offset to the beginning of this archive file, useful for self-extracting executables (i.e. the length of the SFX stub executable).
|
||||
/// </summary>
|
||||
public uint? ArchiveOffset { get { return mvarArchiveOffset; } set { mvarArchiveOffset = value; } }
|
||||
|
||||
protected override void LoadInternal(ref ObjectModel objectModel)
|
||||
{
|
||||
FileSystemObjectModel fsom = (objectModel as FileSystemObjectModel);
|
||||
if (fsom == null) throw new ObjectModelNotSupportedException();
|
||||
|
||||
Reader reader = base.Accessor.Reader;
|
||||
if (mvarArchiveOffset != null)
|
||||
{
|
||||
reader.Seek(mvarArchiveOffset.Value, SeekOrigin.Begin);
|
||||
}
|
||||
|
||||
uint magic = reader.ReadUInt32();
|
||||
if (magic != 0x0C) throw new InvalidDataFormatException("File does not begin with { 0x0C, 0x00, 0x00, 0x00 }");
|
||||
|
||||
uint unknown1 = reader.ReadUInt32(); // 9462627
|
||||
uint unknown2 = reader.ReadUInt32(); // 9988745
|
||||
|
||||
while (reader.Remaining > 4)
|
||||
{
|
||||
uint headerSize = reader.ReadUInt32(); // not including file name
|
||||
|
||||
uint fileNameLength = reader.ReadUInt32();
|
||||
uint unknown4 = reader.ReadUInt32();
|
||||
uint unknown5a = reader.ReadUInt32();
|
||||
uint decompressedLength = reader.ReadUInt32();
|
||||
|
||||
uint recordLength = reader.ReadUInt32(); // including header size
|
||||
|
||||
string fileName = reader.ReadFixedLengthString(fileNameLength);
|
||||
|
||||
uint footerSize = reader.ReadUInt32();
|
||||
uint unknown7 = reader.ReadUInt32();
|
||||
uint unknown8 = reader.ReadUInt32();
|
||||
uint unknown9 = reader.ReadUInt32();
|
||||
|
||||
uint compressedLength = recordLength - footerSize;
|
||||
|
||||
long offset = reader.Accessor.Position;
|
||||
|
||||
reader.Seek(compressedLength, SeekOrigin.Current);
|
||||
|
||||
File file = fsom.AddFile(fileName);
|
||||
file.Properties.Add("reader", reader);
|
||||
file.Properties.Add("offset", offset);
|
||||
file.Properties.Add("CompressedLength", compressedLength);
|
||||
file.Properties.Add("DecompressedLength", decompressedLength);
|
||||
file.DataRequest += file_DataRequest;
|
||||
file.Size = decompressedLength;
|
||||
}
|
||||
|
||||
if (reader.Remaining == 4)
|
||||
{
|
||||
// offset to the beginning of the archive file
|
||||
mvarArchiveOffset = reader.ReadUInt32();
|
||||
}
|
||||
}
|
||||
|
||||
private UniversalEditor.Compression.Modules.Zlib.ZlibCompressionModule compressor = new UniversalEditor.Compression.Modules.Zlib.ZlibCompressionModule();
|
||||
|
||||
private void file_DataRequest(object sender, DataRequestEventArgs e)
|
||||
{
|
||||
File file = (sender as File);
|
||||
Reader reader = (Reader)file.Properties["reader"];
|
||||
long offset = (long)file.Properties["offset"];
|
||||
uint compressedLength = (uint)file.Properties["CompressedLength"];
|
||||
uint decompressedLength = (uint)file.Properties["DecompressedLength"];
|
||||
|
||||
reader.Seek(offset, SeekOrigin.Begin);
|
||||
byte[] compressedData = reader.ReadBytes(compressedLength);
|
||||
byte[] decompressedData = compressor.Decompress(compressedData);
|
||||
|
||||
byte[] compressedDataDeflated = new byte[compressedData.Length - 6];
|
||||
Array.Copy(compressedData, 2, compressedDataDeflated, 0, compressedDataDeflated.Length);
|
||||
|
||||
decompressedData = UniversalEditor.Compression.CompressionModules.Zlib.Decompress(compressedData);
|
||||
|
||||
e.Data = decompressedData;
|
||||
}
|
||||
|
||||
protected override void SaveInternal(ObjectModel objectModel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -35,6 +35,7 @@
|
||||
<Reference Include="System.Core" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DataFormats\RebelSoftware\InstallationPackage\ZAPDataFormat.cs" />
|
||||
<Compile Include="DataFormats\RebelSoftware\InstallationScript\IAPDataFormat.cs" />
|
||||
<Compile Include="ObjectModels\RebelSoftware\InstallationScript\Action.cs" />
|
||||
<Compile Include="ObjectModels\RebelSoftware\InstallationScript\Actions\UnzipAction.cs" />
|
||||
@ -49,6 +50,10 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Compression\UniversalEditor.Compression.csproj">
|
||||
<Project>{3f664673-7e22-4486-9ad0-fc81861d0b78}</Project>
|
||||
<Name>UniversalEditor.Compression</Name>
|
||||
</ProjectReference>
|
||||
<ProjectReference Include="..\..\Libraries\UniversalEditor.Core\UniversalEditor.Core.csproj">
|
||||
<Project>{2d4737e6-6d95-408a-90db-8dff38147e85}</Project>
|
||||
<Name>UniversalEditor.Core</Name>
|
||||
|
||||