aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/PPC
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-25 18:18:35 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-25 18:18:35 +0200
commite112866a2cf44ddeb5b40e8ffc84614ecfe6abdf (patch)
tree48614b95fe9e3d549a465a7b381f432c21a0fef8 /Software/Visual_Studio/PPC
parent08d9858ecd0d4adb0c9c6076d7d2b1216e8f64c3 (diff)
downloadTango-e112866a2cf44ddeb5b40e8ffc84614ecfe6abdf.tar.gz
Tango-e112866a2cf44ddeb5b40e8ffc84614ecfe6abdf.zip
Implemented auto installer release for machine studio and PPC.
Diffstat (limited to 'Software/Visual_Studio/PPC')
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs43
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs24
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj6
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionRequest.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionResponse.cs2
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml136
-rw-r--r--Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest2
7 files changed, 141 insertions, 74 deletions
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
index 65709d46f..7c6113829 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PPCPublisher.cs
@@ -5,7 +5,9 @@ using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
+using System.Threading;
using System.Threading.Tasks;
+using Tango.AdvancedInstaller;
using Tango.Core;
using Tango.Core.Helpers;
using Tango.PPC.Common.Web;
@@ -136,6 +138,19 @@ namespace Tango.PPC.Common.Publish
throw new FileNotFoundException($"Could not locate the PPC executable at {appPath}.");
}
+ if (!String.IsNullOrWhiteSpace(Options.InstallerProject))
+ {
+ if (!File.Exists(Options.InstallerProject))
+ {
+ throw new FileNotFoundException($"Installer project not found at '{Options.InstallerProject}'.");
+ }
+
+ if (!Directory.Exists(Options.InstallerOutputFolder))
+ {
+ throw new DirectoryNotFoundException($"Installer output folder does not exists '{Options.InstallerOutputFolder}'.");
+ }
+ }
+
return Task.Factory.StartNew(() =>
{
String tempFile = TemporaryManager.CreateFile(".zip");
@@ -165,8 +180,34 @@ namespace Tango.PPC.Common.Publish
Comments = Options.Comments,
Version = local_version,
MachineVersionGuid = Options.MachineVersionGuid,
+ WithInstaller = !String.IsNullOrWhiteSpace(Options.InstallerProject),
}).Result;
+
+ if (!String.IsNullOrWhiteSpace(Options.InstallerProject))
+ {
+ String output_folder = Options.InstallerOutputFolder;
+ OnPublishProgress(0, 100, $"Building installer project...");
+ InstallerBuilder installerBuilder = new InstallerBuilder(Options.InstallerProject);
+ String installer_name = $"PPC Installer_v{Version.Parse(local_version).ToString(3)}.exe";
+ String output_file = Path.Combine(output_folder, installer_name);
+ installerBuilder.Build(local_version, output_file).Wait();
+
+ Thread.Sleep(5000);
+
+ OnPublishProgress(0, 100, $"Uploading installer '{installer_name}'...");
+
+ using (StorageBlobUploader uploader = new StorageBlobUploader(response.InstallerBlobAddress, output_file))
+ {
+ uploader.Progress += (x, e) =>
+ {
+ OnPublishProgress(e.Current, e.Total, $"Uploading installer {(((double)e.Current / (double)e.Total) * 100d).ToString("0.0")}%...", true);
+ };
+
+ uploader.Upload().Wait();
+ }
+ }
+
CreateTupPackage(tempFile).Wait();
OnPublishProgress(0, 100, $"Starting version upload...");
@@ -177,7 +218,7 @@ namespace Tango.PPC.Common.Publish
{
InvokeUINow(() =>
{
- OnPublishProgress(e.Current, e.Total, $"Uploading to storage {(((double)e.Current / (double)e.Total) * 100d).ToString("0.0")}%...", true);
+ OnPublishProgress(e.Current, e.Total, $"Uploading version {(((double)e.Current / (double)e.Total) * 100d).ToString("0.0")}%...", true);
});
};
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
index fa04d8331..4c40acb44 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Publish/PublishOptions.cs
@@ -66,14 +66,6 @@ namespace Tango.PPC.Common.Publish
set { _environment = value; RaisePropertyChangedAuto(); EnvironmentChanged?.Invoke(this, new EventArgs()); }
}
- private String _installerProject;
- [Option("installer-project-file", HelpText = "Specifies the advanced installer project file to build and upload.", Required = false)]
- public String InstallerProject
- {
- get { return _installerProject; }
- set { _installerProject = value; RaisePropertyChangedAuto(); }
- }
-
private String _machineVersionGuid;
[Option("machine-version-guid", HelpText = "Specifies the machine version id for which to upload the PPC version.", Required = true)]
public String MachineVersionGuid
@@ -90,6 +82,22 @@ namespace Tango.PPC.Common.Publish
set { _tfpPath = value; RaisePropertyChangedAuto(); }
}
+ private String _installerProject;
+ [Option("installer-project-file", HelpText = "Specifies the advanced installer project file to build and upload.", Required = false)]
+ public String InstallerProject
+ {
+ get { return _installerProject; }
+ set { _installerProject = value; RaisePropertyChangedAuto(); }
+ }
+
+ private String _installerOutputFolder;
+ [Option("installer-output-folder", HelpText = "Specifies where to save the installer application.", Required = false)]
+ public String InstallerOutputFolder
+ {
+ get { return _installerOutputFolder; }
+ set { _installerOutputFolder = value; RaisePropertyChangedAuto(); }
+ }
+
private SynchronizationOptions _synchronization;
public SynchronizationOptions Synchronization
{
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
index fe2f87fb2..07ea6c5d1 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Tango.PPC.Common.csproj
@@ -285,6 +285,10 @@
</None>
</ItemGroup>
<ItemGroup>
+ <ProjectReference Include="..\..\Tango.AdvancedInstaller\Tango.AdvancedInstaller.csproj">
+ <Project>{c5df1816-34e5-4700-824c-29623a1baa22}</Project>
+ <Name>Tango.AdvancedInstaller</Name>
+ </ProjectReference>
<ProjectReference Include="..\..\Tango.BL\Tango.BL.csproj">
<Project>{f441feee-322a-4943-b566-110e12fd3b72}</Project>
<Name>Tango.BL</Name>
@@ -367,7 +371,7 @@
</Target>
<ProjectExtensions>
<VisualStudio>
- <UserProperties BuildVersion_StartDate="2000/1/1" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" />
+ <UserProperties BuildVersion_AssemblyInfoFilename="Properties\AssemblyInfo.cs" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.None.Increment.TimeStamp" BuildVersion_UseGlobalSettings="False" BuildVersion_StartDate="2000/1/1" />
</VisualStudio>
</ProjectExtensions>
</Project> \ No newline at end of file
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionRequest.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionRequest.cs
index d75a94300..29d533043 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionRequest.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionRequest.cs
@@ -15,5 +15,7 @@ namespace Tango.PPC.Common.Web
public String MachineVersionGuid { get; set; }
public String Comments { get; set; }
+
+ public bool WithInstaller { get; set; }
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionResponse.cs b/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionResponse.cs
index 9a0fc1a5f..0b4859915 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionResponse.cs
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Common/Web/UploadVersionResponse.cs
@@ -13,5 +13,7 @@ namespace Tango.PPC.Common.Web
public String Token { get; set; }
public String BlobAddress { get; set; }
+
+ public String InstallerBlobAddress { get; set; }
}
}
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml b/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
index f29b6bd44..f74194222 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
+++ b/Software/Visual_Studio/PPC/Tango.PPC.Publisher.UI/MainWindow.xaml
@@ -29,98 +29,108 @@
<Grid IsEnabled="{Binding IsFree}">
<DockPanel Margin="10">
- <Grid Height="50" DockPanel.Dock="Bottom">
- <StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
- <Button Width="150" Command="{Binding CreateTupCommand}">CREATE TUP FILE</Button>
- <Button Width="150" Command="{Binding PublishCommand}">PUBLISH</Button>
+ <TextBlock DockPanel.Dock="Top" FontSize="22">Tango Publish Utility</TextBlock>
+ <Grid DockPanel.Dock="Bottom" Margin="0 20 0 0">
+ <StackPanel>
+ <StackPanel VerticalAlignment="Bottom">
+ <TextBlock Text="{Binding PublishArgs.Message}" Foreground="Gray"></TextBlock>
+ <ProgressBar Height="15" Margin="0 5 0 10" Maximum="{Binding PublishArgs.Total}" Value="{Binding PublishArgs.Progress}"></ProgressBar>
+ </StackPanel>
+ <StackPanel Orientation="Horizontal" HorizontalAlignment="Right" Height="40">
+ <Button Width="150" Command="{Binding CreateTupCommand}">CREATE TUP FILE</Button>
+ <Button Width="150" Command="{Binding PublishCommand}">PUBLISH</Button>
+ </StackPanel>
</StackPanel>
</Grid>
<Grid>
- <StackPanel>
- <TextBlock FontSize="22">Tango Publish Utility</TextBlock>
+ <ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto" Padding="0 0 10 0">
+ <StackPanel>
- <DockPanel Margin="0 40 0 0">
- <TextBlock VerticalAlignment="Center" Width="136" DockPanel.Dock="Left">Deployment Slot:</TextBlock>
- <ComboBox x:Name="combo" ItemsSource="{Binding Source={x:Type web:DeploymentSlot},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding Options.Environment}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" Margin="5 0 0 0" />
- </DockPanel>
+ <DockPanel Margin="0 40 0 0">
+ <TextBlock VerticalAlignment="Center" Width="136" DockPanel.Dock="Left">Deployment Slot:</TextBlock>
+ <ComboBox x:Name="combo" ItemsSource="{Binding Source={x:Type web:DeploymentSlot},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValue="{Binding Options.Environment}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" Margin="5 0 0 0" />
+ </DockPanel>
- <DockPanel Margin="0 20 0 0">
- <TextBlock VerticalAlignment="Center" Width="136" DockPanel.Dock="Left">Build Configuration:</TextBlock>
- <ComboBox Margin="20 0 0 0" SelectedItem="{Binding Options.BuildConfig}" SelectedIndex="0">
- <sys:String>Release</sys:String>
- <sys:String>Debug</sys:String>
- </ComboBox>
- </DockPanel>
+ <DockPanel Margin="0 20 0 0">
+ <TextBlock VerticalAlignment="Center" Width="136" DockPanel.Dock="Left">Build Configuration:</TextBlock>
+ <ComboBox Margin="20 0 0 0" SelectedItem="{Binding Options.BuildConfig}" SelectedIndex="0">
+ <sys:String>Release</sys:String>
+ <sys:String>Debug</sys:String>
+ </ComboBox>
+ </DockPanel>
- <DockPanel Margin="0 20 0 0">
- <TextBlock VerticalAlignment="Center" DockPanel.Dock="Left">Selected machine version:</TextBlock>
- <ComboBox Margin="20 0 0 0" ItemsSource="{Binding MachineVersions}" SelectedItem="{Binding SelectedMachineVersion}" DisplayMemberPath="Name" />
- </DockPanel>
+ <DockPanel Margin="0 20 0 0">
+ <TextBlock VerticalAlignment="Center" DockPanel.Dock="Left">Selected machine version:</TextBlock>
+ <ComboBox Margin="20 0 0 0" ItemsSource="{Binding MachineVersions}" SelectedItem="{Binding SelectedMachineVersion}" DisplayMemberPath="Name" />
+ </DockPanel>
- <TextBlock Margin="0 20 0 0">
+ <TextBlock Margin="0 20 0 0">
<TextBlock>
<Run>Remote Version:</Run>
<Run Text="{Binding RemoteVersion}"></Run>
</TextBlock>
</TextBlock>
- <TextBlock Margin="0 20 0 0">
+ <TextBlock Margin="0 20 0 0">
<TextBlock>
<Run>Local Version:</Run>
<Run Text="{Binding LocalVersion}"></Run>
</TextBlock>
</TextBlock>
- <TextBlock Margin="0 20 0 0">Examiner Provision Sequence Items</TextBlock>
+ <TextBlock Margin="0 20 0 0">Examiner Provision Sequence Items</TextBlock>
- <DataGrid Height="170" SelectionMode="Single" SelectionUnit="FullRow" HorizontalScrollBarVisibility="Disabled" AutoGenerateColumns="False" ItemsSource="{Binding ProvisionSequenceItemsView}" CanUserAddRows="True" CanUserReorderColumns="False" CanUserDeleteRows="True" CanUserSortColumns="False" AddingNewItem="DataGrid_AddingNewItem">
- <DataGrid.Columns>
- <DataGridTextColumn IsReadOnly="True" Width="100" Header="File Name" Binding="{Binding FileName}" />
- <DataGridComboBoxColumn Width="75" Header="Type" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemType},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Type}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
- <DataGridComboBoxColumn Width="90" Header="Direction" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemDirection},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Direction}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
- <DataGridCheckBoxColumn Width="35" Header="S/N" Binding="{Binding RequiresSerialNumber}" />
- <DataGridTextColumn Header="Name" Width="1*" Binding="{Binding Name}" />
- <DataGridTextColumn Header="Index" Width="40" Binding="{Binding Index}" />
- </DataGrid.Columns>
- </DataGrid>
+ <DataGrid Height="170" SelectionMode="Single" SelectionUnit="FullRow" HorizontalScrollBarVisibility="Disabled" AutoGenerateColumns="False" ItemsSource="{Binding ProvisionSequenceItemsView}" CanUserAddRows="True" CanUserReorderColumns="False" CanUserDeleteRows="True" CanUserSortColumns="False" AddingNewItem="DataGrid_AddingNewItem">
+ <DataGrid.Columns>
+ <DataGridTextColumn IsReadOnly="True" Width="100" Header="File Name" Binding="{Binding FileName}" />
+ <DataGridComboBoxColumn Width="75" Header="Type" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemType},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Type}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
+ <DataGridComboBoxColumn Width="90" Header="Direction" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemDirection},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Direction}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
+ <DataGridCheckBoxColumn Width="35" Header="S/N" Binding="{Binding RequiresSerialNumber}" />
+ <DataGridTextColumn Header="Name" Width="1*" Binding="{Binding Name}" />
+ <DataGridTextColumn Header="Index" Width="40" Binding="{Binding Index}" />
+ </DataGrid.Columns>
+ </DataGrid>
- <TextBlock Margin="0 20 0 0">Examiner Update Sequence Items</TextBlock>
+ <TextBlock Margin="0 20 0 0">Examiner Update Sequence Items</TextBlock>
- <DataGrid Height="170" SelectionMode="Single" SelectionUnit="FullRow" HorizontalScrollBarVisibility="Disabled" AutoGenerateColumns="False" ItemsSource="{Binding UpdateSequenceItemsView}" CanUserAddRows="True" CanUserReorderColumns="False" CanUserDeleteRows="True" CanUserSortColumns="False" AddingNewItem="DataGrid_AddingNewItem_1">
- <DataGrid.Columns>
- <DataGridTextColumn IsReadOnly="True" Width="100" Header="File Name" Binding="{Binding FileName}" />
- <DataGridComboBoxColumn Width="75" Header="Type" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemType},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Type}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
- <DataGridComboBoxColumn Width="90" Header="Direction" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemDirection},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Direction}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
- <DataGridCheckBoxColumn Width="35" Header="S/N" Binding="{Binding RequiresSerialNumber}" />
- <DataGridTextColumn Header="Name" Width="1*" Binding="{Binding Name}" />
- <DataGridTextColumn Header="Index" Width="40" Binding="{Binding Index}" />
- </DataGrid.Columns>
- </DataGrid>
+ <DataGrid Height="170" SelectionMode="Single" SelectionUnit="FullRow" HorizontalScrollBarVisibility="Disabled" AutoGenerateColumns="False" ItemsSource="{Binding UpdateSequenceItemsView}" CanUserAddRows="True" CanUserReorderColumns="False" CanUserDeleteRows="True" CanUserSortColumns="False" AddingNewItem="DataGrid_AddingNewItem_1">
+ <DataGrid.Columns>
+ <DataGridTextColumn IsReadOnly="True" Width="100" Header="File Name" Binding="{Binding FileName}" />
+ <DataGridComboBoxColumn Width="75" Header="Type" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemType},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Type}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
+ <DataGridComboBoxColumn Width="90" Header="Direction" ItemsSource="{Binding Source={x:Type examiner:ExaminerSequenceItemDirection},Converter={StaticResource EnumToItemsSourceConverter}}" SelectedValueBinding="{Binding Direction}" SelectedValuePath="Value" DisplayMemberPath="DisplayName" />
+ <DataGridCheckBoxColumn Width="35" Header="S/N" Binding="{Binding RequiresSerialNumber}" />
+ <DataGridTextColumn Header="Name" Width="1*" Binding="{Binding Name}" />
+ <DataGridTextColumn Header="Index" Width="40" Binding="{Binding Index}" />
+ </DataGrid.Columns>
+ </DataGrid>
- <TextBlock Margin="0 20 0 0">Firmware Upgrade Package</TextBlock>
- <DockPanel Margin="0 5 0 0">
- <Button DockPanel.Dock="Right" Margin="10 0 0 0" Command="{Binding FirmwareUpgradePackageBrowseCommand}">BROWSE</Button>
- <TextBox IsReadOnly="True" Text="{Binding Options.TfpPath}"></TextBox>
- </DockPanel>
+ <TextBlock Margin="0 20 0 0">Firmware Upgrade Package</TextBlock>
+ <DockPanel Margin="0 5 0 0">
+ <Button DockPanel.Dock="Right" Margin="10 0 0 0" Command="{Binding FirmwareUpgradePackageBrowseCommand}">BROWSE</Button>
+ <TextBox IsReadOnly="True" Text="{Binding Options.TfpPath}"></TextBox>
+ </DockPanel>
- <StackPanel Margin="0 30 0 0">
+ <StackPanel Margin="0 20 0 0">
+ <TextBlock>Installer Project</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding Options.InstallerProject,UpdateSourceTrigger=PropertyChanged}"></TextBox>
+ <TextBlock Margin="0 10 0 0">Installer Output Folder</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding Options.InstallerOutputFolder,UpdateSourceTrigger=PropertyChanged}"></TextBox>
+ </StackPanel>
- <TextBlock>Comments</TextBlock>
- <TextBox Margin="0 5 0 0" Text="{Binding Options.Comments}" Height="50" AcceptsReturn="True" TextWrapping="Wrap"></TextBox>
+ <StackPanel Margin="0 20 0 0">
- <TextBlock>Email</TextBlock>
- <TextBox Margin="0 5 0 0" Text="{Binding Options.Email}"></TextBox>
+ <TextBlock>Comments</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding Options.Comments}" Height="50" AcceptsReturn="True" TextWrapping="Wrap"></TextBox>
- <TextBlock Margin="0 10 0 0">Password</TextBlock>
- <TextBox Margin="0 5 0 0" Text="{Binding Options.Password}"></TextBox>
- </StackPanel>
- </StackPanel>
+ <TextBlock>Email</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding Options.Email}"></TextBox>
- <StackPanel VerticalAlignment="Bottom">
- <TextBlock Text="{Binding PublishArgs.Message}" Foreground="Gray"></TextBlock>
- <ProgressBar Height="15" Margin="0 5 0 10" Maximum="{Binding PublishArgs.Total}" Value="{Binding PublishArgs.Progress}"></ProgressBar>
- </StackPanel>
+ <TextBlock Margin="0 10 0 0">Password</TextBlock>
+ <TextBox Margin="0 5 0 0" Text="{Binding Options.Password}"></TextBox>
+ </StackPanel>
+ </StackPanel>
+ </ScrollViewer>
</Grid>
</DockPanel>
</Grid>
diff --git a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
index efc5f8179..d72e75011 100644
--- a/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
+++ b/Software/Visual_Studio/PPC/Tango.PPC.UI/app.manifest
@@ -16,7 +16,7 @@
Remove this element if your application requires this virtualization for backwards
compatibility.
-->
- <!--<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />-->
+ <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>