diff --git a/pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs b/pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs
index 2ab430e..558891c 100644
--- a/pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs
+++ b/pc/CODEC2 GUI/CODEC2 GUI/Form1.Designer.cs
@@ -47,7 +47,7 @@
this.ClientSize = new System.Drawing.Size(284, 112);
this.Controls.Add(this.label1);
this.Name = "Form1";
- this.Text = "FreeDV";
+ this.Text = "SmartSDR FreeDV Waveform";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();
diff --git a/pc/CODEC2 GUI/CODEC2 GUI/FreeDV.csproj b/pc/CODEC2 GUI/CODEC2 GUI/FreeDV.csproj
index cc064ac..35a5a41 100644
--- a/pc/CODEC2 GUI/CODEC2 GUI/FreeDV.csproj
+++ b/pc/CODEC2 GUI/CODEC2 GUI/FreeDV.csproj
@@ -9,7 +9,7 @@
WinExe
Properties
FreeDV
- FreeDV
+ SmartSDR_FreeDV_Waveform
v4.0
Client
512
diff --git a/pc/CODEC2 GUI/CODEC2 GUI/Images/FDVLogo.ico b/pc/CODEC2 GUI/CODEC2 GUI/Images/FDVLogo.ico
index bdac4df..f60f95b 100644
Binary files a/pc/CODEC2 GUI/CODEC2 GUI/Images/FDVLogo.ico and b/pc/CODEC2 GUI/CODEC2 GUI/Images/FDVLogo.ico differ
diff --git a/pc/CODEC2 GUI/CODEC2 GUI/Properties/AssemblyInfo.cs b/pc/CODEC2 GUI/CODEC2 GUI/Properties/AssemblyInfo.cs
index 7c8bcb8..5947224 100644
--- a/pc/CODEC2 GUI/CODEC2 GUI/Properties/AssemblyInfo.cs
+++ b/pc/CODEC2 GUI/CODEC2 GUI/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@ using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
-[assembly: AssemblyTitle("FreeDV")]
+[assembly: AssemblyTitle("SmartSDR FreeDV Waveform")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("FlexRadio Systems")]
-[assembly: AssemblyProduct("FreeDV")]
-[assembly: AssemblyCopyright("Copyright © FlexRadio Systems 2014")]
+[assembly: AssemblyProduct("SmartSDR_FreeDV_Waveform")]
+[assembly: AssemblyCopyright("Copyright © FlexRadio Systems 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
diff --git a/pc/CODEC2 GUI/CODEC2_GUI_INSTALLER/SmartSDR_FreeDV_Waveform_Inno_Install_Script.iss b/pc/CODEC2 GUI/CODEC2_GUI_INSTALLER/SmartSDR_FreeDV_Waveform_Inno_Install_Script.iss
new file mode 100644
index 0000000..ee9330d
--- /dev/null
+++ b/pc/CODEC2 GUI/CODEC2_GUI_INSTALLER/SmartSDR_FreeDV_Waveform_Inno_Install_Script.iss
@@ -0,0 +1,126 @@
+;
+; INNO Setup Compiler Script
+; for SmartSDR FreeDV Waveform and GUI
+; Author: Mark Hanson, AA3RK
+;
+
+#define MyAppName "SmartSDR FreeDV Waveform"
+#define MyAppVersion "1.5.0.6"
+#define MyAppVersionWithV "v1.5.0.6"
+#define MyAppPublisher "FlexRadio Systems"
+#define MyAppURL "http://www.flexradio.com/"
+#define MyAppExeName "SmartSDR_FreeDV_Waveform.exe"
+
+[Setup]
+AppId={{2AA4AC17-A170-4825-9BE9-D9974CCC9444}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+VersionInfoVersion={#MyAppVersion}
+AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={pf}\{#MyAppPublisher}\{#MyAppName} {#MyAppVersionWithV}
+DisableDirPage=yes
+DefaultGroupName=FreeDV Waveform
+DisableProgramGroupPage=yes
+OutputBaseFilename=FreeDV_Waveform_Installer
+SetupIconFile=..\CODEC2 GUI\Images\FDVLogo.ico
+Compression=lzma
+SolidCompression=yes
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Tasks]
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
+
+[Files]
+Source: "..\CODEC2 GUI\bin\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\bin\Release\Flex.UiWpfFramework.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\bin\Release\FlexLib.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\bin\Release\Ionic.Zip.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\bin\Release\Util.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\bin\Release\Vita.dll"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\CODEC2 GUI\Images\FDVLogo.ico"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\..\..\DSP_API\Waveform\FreeDV.ssdr_waveform"; DestDir: "{userappdata}\FlexRadio Systems\Waveforms\"; Flags: ignoreversion
+; NOTE: Don't use "Flags: ignoreversion" on any shared system files
+
+[Icons]
+Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\FDVLogo.ico"
+Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon; IconFilename: "{app}\FDVLogo.ico"
+
+[Run]
+Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
+
+[Code]
+
+const
+// constants for Firewall access exception
+ NET_FW_ACTION_ALLOW = 1;
+ NET_FW_IP_PROTOCOL_TCP = 6;
+ NET_FW_IP_PROTOCOL_UDP = 17;
+
+ NET_FW_SCOPE_ALL = 0;
+ NET_FW_IP_VERSION_ANY = 2;
+ NET_FW_PROFILE_DOMAIN = 0;
+ NET_FW_PROFILE_STANDARD = 1;
+
+
+//===========================================================================
+procedure SetFirewallExceptionVista(AppName,FileName:string);
+//===========================================================================
+//create SmartSDR wirewall in-bound exception for Vista and greater
+
+var
+ FirewallRule: Variant;
+ FirewallPolicy: Variant;
+
+begin
+ try
+ FirewallRule := CreateOleObject('HNetCfg.FWRule');
+ FirewallRule.Name := AppName;
+ FirewallRule.Description := 'UDP In-bound Firewall rule for SmartSDR FreeDV Waveform';
+ FirewallRule.ApplicationName := FileName;
+ FirewallRule.Protocol := NET_FW_IP_PROTOCOL_UDP;
+ FirewallRule.EdgeTraversal := True;
+ FirewallRule.Action := NET_FW_ACTION_ALLOW;
+ FirewallRule.Enabled := True;
+ // FirewallRule.InterfaceTypes := 'All';
+ FirewallPolicy := CreateOleObject('HNetCfg.FwPolicy2');
+ FirewallPolicy.Rules.Add(FirewallRule);
+ except
+ end;
+
+ try
+ FirewallRule := CreateOleObject('HNetCfg.FWRule');
+ FirewallRule.Name := AppName;
+ FirewallRule.Description := 'TCP In-bound Firewall rule for SmartSDR FreeDV Waveform';
+ FirewallRule.ApplicationName := FileName;
+ FirewallRule.Protocol := NET_FW_IP_PROTOCOL_TCP;
+ FirewallRule.EdgeTraversal := True;
+ FirewallRule.Action := NET_FW_ACTION_ALLOW;
+ FirewallRule.Enabled := True;
+ // FirewallRule.InterfaceTypes := 'All';
+ FirewallPolicy := CreateOleObject('HNetCfg.FwPolicy2');
+ FirewallPolicy.Rules.Add(FirewallRule);
+ except
+ end;
+end;
+
+
+//===========================================================================
+procedure CurStepChanged(CurStep: TSetupStep);
+//===========================================================================
+// runs after setup completes FreeDV Waveform
+
+begin
+ if (CurStep=ssInstall) then
+ begin
+
+ // Add Vista and greater Firewall rules
+ SetFirewallExceptionVista('{#SetupSetting("AppVerName")}', ExpandConstant('{app}')+'\{#MyAppExeName}');
+
+ end;
+end;