Installing .Net Add-in for POS 2009 - deployment

I'm working on writing a WiX project to install a .Net Addin that is built for Microsoft POS 2009. During the development of the project, you had to run the command:
AddinUtil.exe -PipelineRoot:
{directory to the Addins folder for
POS 2009}
so that POS 2009 would recognize your Addin. Now that I'm getting ready to do the deployment, I was wondering how this is done on during the install process, so that the user doesn't have to do this after they run the installer?
Do I just call the AddinUtil.exe from an Exec command during the install phase, or is there a tag that is available inside of WiX 3 that can handle this? I recall several instances where I've seen other guys call external applications from WiX, and I'm just curious to find out if this is the best method or not for this scenario.
Note: I'm basing this on POS 2009, but I think this winds up being a general ".Net Addin Installation" question.
I should mention... the AddinUtil that I'm using is the standard .Net 3.0/3.5 AddinUtil that is part of the .Net framework which exists in %windir%\Microsoft.Net\Framework\v3.5\ directory.

I would just call a custom action.
<CustomAction Id='Addin' Directory ='PATH' ExeCommand='[PATH]AddinUtil.exe' Return='asyncNoWait'/>

Related

TFS 2017 silent installation using Powershell

I am trying to install TSF 2017 by using silent installation powershell script. I am able to install it but its not installing properly. And its not creating any folders in program files. But its showing in control panel.
Below is the script which I am using now,
$Installer="D:\TeamFoundationServer2017_Update2\TfsServer2017.2.exe"
$Params=#("D:\TeamFoundationServer2017_Update2\ISO\tfsserver2017.2_enu.iso","/Q","/Full","/NoRestart","/NoWeb","/Passive","/ProductKey","/Layout=C:\Users\ul\Desktop\Test","/NoRefresh","/Log=Desktop\Logfile.txt")
& $Installer $Params
Is there anything I am missing out in $Params. Its calling exe file and executing it. In contorl panel I can able to see. But in program files its not coming. And its not installing also.
Please help me in this.
TfsServer2017.2.exe is a web installer, it will download TFS from VisualStudio.com and kick off the installation. However, the installation process itself simply gets TFS bits onto your machine. At the end of this process, the installer will launch the TFS Configuration Center.
Even select Basic scenario(This scenario is optimized for simplicity, using default options for most inputs), you will still need to choose and enter many configuration.
More details please refer: How to set up TFS on a single server
Besides, this is only suitable for a single server scenario, you could also install TFS under Dual server/ Multiple server configuration . Highly doubt this could be done through a single powershell script.
You could also have a look at this tutorial -- Team Foundation Server 2017 Installation Guide
If you just want to want to use PowerShell DSC resources to install configure a TFS build agent, please refer this code source in GitHub.

Install .NET Framework + Upgrade Powershell using Chef?

As some of you have seen, I'm a newbie with Chef, and there seems just so much to learn that it's hurting my head :(...
One of the things I ran into earlier testing was that some example recipes I found would fail because I am using Win2K8 as the NODE and that has Powershell V2 rather than Powershell V3.
So, as a kind of learning exercise, I would like to try to make a Chef cookbook to deploy PS V3 to Win2K8 R2. I think that I'll also need to get .NET Framework 4.5.x in order to install the PS V3 .msu (Windows6.1-KB2506143-x64.msu).
So, how do I make such a cookbook?
i've been looking around and found a dotnetframework cookbook and I've added that to my WORKSTATION.
I've also found this:
http://thinkofdata.blogspot.com/2014/07/installing-microsoft-net-framework.html
which seems like a different approach than using the dotnetframework cookbook?
I guess I'm confused about all of this? Are both of these approaches (using the dotnetframework cookbook vs. the one from the link above) "ok"?
Also, if I want to do the former, how do I actually do that? What do I need to put into my recipes/default.rb?
Finally, for now at least, what about executing the .msu after that, to do the PS V3 upgrade? How do I do that?
Sorry for all the questions (and hopefully I won't get flamed too much for them). I'll continue to bang away but hopefully you all can help point the way!
Thanks in advance,
Jim
You could use the windows_package command to be able to do this slightly differently (and not have to rely on a file download to determine whether or not something was installed on a box), but then you would have a dependency on the windows cookbook. This will work after downloading the Chef Development Kit and just using:
chef-apply install_powershell_4_0.rb
This also installs powershell 4.0 via the Windows Management Framework 4.0 installer rather than powershell 3.0 (which is why .NET framework 4.5 needs to be installed prior to installing WMF 4.0 because otherwise powershell isn't updated and stays at 2.0).
The server will reboot 3 times between each install, so you will have to run the chef-apply command to continue (or actually install chef client).
Here is the install_powershell_4_0.rb file:
#Create installs directory to house downloads
directory 'c:/installs' do
end
#Install Windows 7 and Windows Server 2008 R2 Service Pack 1 (KB976932)
remote_file "c:/installs/windows6.1-KB976932-X64.exe" do
source "http://download.microsoft.com/download/0/A/F/0AFB5316-3062-494A-AB78-7FB0D4461357/windows6.1-KB976932-X64.exe"
end
execute "c:/installs/windows6.1-KB976932-X64.exe /quiet" do
action :nothing
subscribes :run, resources(:remote_file => "c:/installs/windows6.1-KB976932-X64.exe")
end
#Install .NET 4.5
remote_file "c:/installs/dotNetFx45_Full_setup.exe" do
source "http://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe"
end
execute "c:/installs/dotNetFx45_Full_setup.exe /quiet" do
action :nothing
subscribes :run, resources(:remote_file => "c:/installs/dotNetFx45_Full_setup.exe")
end
#Install Windows Management Framework 4.0
remote_file "c:/installs/Windows6.1-KB2819745-x64-MultiPkg.msu" do
source "http://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows6.1-KB2819745-x64-MultiPkg.msu"
end
execute "c:/installs/Windows6.1-KB2819745-x64-MultiPkg.msu /quiet" do
action :nothing
subscribes :run, resources(:remote_file => "c:/installs/Windows6.1-KB2819745-x64-MultiPkg.msu")
end
You then should be able to open a powershell command prompt and see 4.0 as the PSVersion via running:
$psversiontable

Is it possible to use InstallShield to install more than one .exe files?

I have completed a project on VisualStudio and I have built the .exe file of this project. I wanted to make an installer that will include this .exe file as well as the postgreSQL and perl executable installers because my VB application relies on them to work. So I assume that if I want it to work properly on every windows-based PC I have to include those as well.
Is there a way I can include those 3 .exe(s) in a single setup (let's say .MSI file) and if yes what are the steps required to do so?
Thanks in advance!
Regards,
George.
An MSI shouldn't ever run an EXE installer. For that scenario you need what's called a bootstrapper / chainer. The two are similar except that boostrapper is things that must be installed before your MSI ( like Windows Installer itself ) and chainer are things that get installed along with your MSI.
InstallShield has two features for this. Setup / Feature Prerequisites and Suite Installers. Both can be used to chain together any number of EXE and MSI installers.
For more information see:
Using InstallShield 12 to Install .NET Framework 3.0

Nuget Command-line install is not launching Install/Init scripts

I was trying to use Nuget as a software deployment system (repository, versioning and delivery) - idea from Octopus. Previously I was packaging ASP.NET sites into a self-extracting RAR archives with a .CMD startup scripts embeded. Now I'm trying to use Nuget creating puckages during automated build. The issue is that the package installation scripts (tools\Install.ps1 or tools\Init.ps1) do not execute if the package is being installed using command line:
nuget.exe install <package_id> -OutputDirectory <install_folder> -source <local_repo>
Same scripts are able to execute when package installed from Visual Studio Package Manager or Console.
I do not see why this shouldn't be possible given omnipresence of PowerShell.
Am I missing something or this is behaviour by design? Will appreciate you help.
Yes, we did consider MSDeploy but we already have install scripts that do the same thing and give more control and we need some strong package management and repository for build artifacts (something that Java folks do with Maven).
As of today, the powershell scripts are not invoked from doing installations from command line.
One reason for this is that, in general, most of the install/init actions are tied to dte and the visual studio project and doesn't add much value to be able to run it from outside VS.
We have a backlog item for enabling support for exe based scripts too in addition to powershell.

Packaging application

We have a windows app and we were using Wise for deployment. Recently we switched to InstallAware and though it has some good points we are facing some issues. Can someone recommend another deployment and packaging app? We are a small company and we do not have a dedicated staff for packaging etc. Also our package includes SQL server express installation and we would love to have the simplicity of such includes as is in IA.
How about NSIS or InnoSetup? They're both widely used, and not that hard to use. (If you choose InnoSetup, also download ISTool, it's a lot easier than writing the script file manually.)
We've used NSIS several times, both for full regular desktop installers, and for small, silently installing patches. It's easy to write a basic installer, especially if you use HM NIS Edit which acts as a wizard and IDE for NSIS. Because it's scriptable, you'll be able to check if SQL Server Express is already installed - if not, it can be installed as part of your installer process.
I have never used anything but Windows Setup and the setup projects that come with Visual Studio. Do you have any unusual requirements that prevent you from doing that?
I assume your requirement as follows,
You are using wise package studio to create\customize the application to create MSI and these msi package will be deployed or installed to your environment.
My question is : How many desktops \laptops are their in your company (Infrastructure)
Solution to your question based on my assumption:
At present Admistudio is the best product to replace the Wise and you can use Installshield repackager to create or customize the applications.
Install anyware is used to customize the Dll files (Build and release method) and create custom actions in that build file and build it to MSI
Installshield Repackager is used to create MSI from Exe files and also customize existing MSI using transform file (no need to modify existing MSI instead we can create MST file to MSI and perform the customization to MST file and same file will be applied while deployment.)
Please let me know if you need further assistance.