InstallShield 2018 Professional Edition - installshield

I'm using Basic MSI project in InstallShield 2018 Professional Edition. I have created multiple Instances and would like to have multiple services (each service for each instance) and the service should start when the new instance is getting created.
How can i pass the following Windows command in Command line Argument of installshield to create Service.
(sc create servicename binpath= "path" DisplayName = "name"start = auto)
Is the above requirement possible with the basic msi project? If yes, then how? Kindly help.
Also is it possible for User to enter the service name and this name should get append with the predefined Service name?(maybe as a pop-up)
Thanks in advance.

From the commandline, you can pass in some properties and have a custom action (installscript, c#, etc...) and use these properties when running sc.exe to create the service.
You can certainly add new dialogs or modify existing ones to take in User parameters for the services you want to create, but this requires a bit more work.

Related

How to Create a VM and deploy an application in Azure Resource Group Template

I want to create a set of VMs using either the Resource Group Template in VS 2015 or utilise one of the azure-quickstart-templates as the basis for doing this.
My specific requirements are also to install a simple .exe application and modify its .ini file with a key that I want to pass from the template, i.e. seqno = copyindex() or similar.
Can anybody provide some guidance please?
For a simple Windows VM you can use either a DSC Extension or a Custom Script extension on the VM. Both of the samples in the azure-quickstart repo require you to figure out how to stage the artifacts needed for the extension (in this case the EXE and the script that installs the EXE).
If you go the VS 2015 route, you can start with a VM template, add the DSC or custom script extension and then the PowerShell script provided by Visual Studio will stage the artifacts for you if you make them part of the project.
You can also mix/match - grab a template from github, modify it in VS or take the VS PowerShell script and bring it into whatever workflow works best for you.
Note: one thing to keep in mind as well - you need to pass the location of that EXE into the script that does the install - that script/vm will need to know where to get it from. In the VS 2015 workflow you can use the parameter values of _artifactsLocation and just pass that value along to the installation script. If you start with a quickstart template, you have to manage that yourself.

manageprofiles.sh can't create DEPLOYMENT MANAGER

My goal is to create a Deployment Manager profile in my Websphere on Linux.
Reading tons of documentation pages gives just two methods:
1) using X GUI application WAS_root/bin/ProfileManagement/pmt.sh
In this case, according to manuals, i should choose Management option, click "Next" and choose Deployment Manager server type.
Actually when i run pmt.sh in my WAS installation there is no option to choose Deployment Manager in Management section and only one profile type that i'm able to create is AdminAgent.
2) using manageprofiles.sh script under WAS_root/bin directory.
The manuals say that i can use -serverType DEPLOYMENT_MANAGER option in order to create deployment manager profile.
Actually when i run the script:
./manageprofiles.sh -create -templatePath ../profileTemplates/management/ -ServerType DEPLOYMENT_MANAGER -isDefault -profileName dmgr -adminUserName websphere -adminPassword websphere1
I get the following message:
The following validation errors were present with the command line
arguments:
serverType: The value for this parameter must be within this set of values [ADMIN_AGENT]
That means that i don't have the ability to create Deployment Manager at all.
Please advise what steps i can perform to be able to install Deploy Manager except erase my WAS installation and install it from scratch once again.
Thanks a lot.
You have standalone aka base edition of WebSphere Application Server. To create Deployment Manager you need Network Deployment edition.
Unfortunately you will have to install it from scratch from different installation files (from ND, not base or developers edition).

IISConfig.exe arguments for custom action in Microsoft Release Management

after creating an application pool in IIS(8.0) using Release Management 2013 Update 4, I need to customize the predefined action.
I would like to set Load User Profile in the advanced application pool settings true instead of false. I assumed I could use -loadUserProfile as an argument in Release Management.
Apparently the arguments are not similar to the parameter names in IIS. The release was rejected and the log file showed: ERROR: loaduserprofile : Unknown Option.
Release Management is using IISConfig.exe to execute the arguments. Even knowing that, I was unable to find a list of arguments or "Options" which can be used for the IISConfig.exe.
I would be glad to know how to solve that Problem. Not only in that specific case but in general.
Find the details of the IIS tool here:
https://msdn.microsoft.com/library/vs/alm/release/overview
Scroll to IIS Deployment Agent.
There does not seem to be any way to change the Load User Profile. You can write your own tool to accomplish that (and share it here :))

Deploy a windows service without Installshield

Is it possible to deploy a windows service without going through Installshield? I have a very basic service which simply probes a database, and wish to deploy it on a server.
I tried using Installsheild LE, but get error 1001 on install, which is hard to troubleshoot, and anyhow Installshield feels like overkill in this case... is there a way can just install the service direct by command line or other method?
Yes.
However, there are options, from best to worst:
There are other tools for writing installers out there. Eg. the full version of install Shield or WiX (which MS created, and is used for the Visual Studio installer).
You could use installUtil having included a type derived from ServiceInstaller in your assembly. (See How to: Install and Uninstall Service.)
You can manually edit the registry.
#3 Is seriously easy to mess up, and won't help you with the event logging and performance counters you should be including.1 #2 is best in development, and will set up event logs and performance counters as well (remember you'll need to elevate to install things, and to attach a debugger to the service when running as a service).
Using a real installer (#1) is best in test (staging) and production environments.
1 When you get asked why it isn't working, you'll want to be able to work out what's going on (or not).
Yes, if your service has an Installer class then, you can install it from command line with installutil.exe
using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;
[RunInstaller(true)]
public class ServiceInstaller : Installer
{
public ServiceInstaller()
{
ServiceProcessInstaller serviceProcessInstaller = new ServiceProcessInstaller();
ServiceInstaller serviceInstaller = new ServiceInstaller();
//# Service Account Information
serviceProcessInstaller.Account = ServiceAccount.User;
serviceProcessInstaller.Username = "";
serviceProcessInstaller.Password = "";
//# Service Information
serviceInstaller.DisplayName = "Service name"
serviceInstaller.Description = "Service description"
serviceInstaller.StartType = ServiceStartMode.Automatic;
//# This must be identical to the WindowsService.ServiceBase name
//# set in the constructor of WindowsService.cs
serviceInstaller.ServiceName = "Service Name";
this.Installers.Add(serviceProcessInstaller);
this.Installers.Add(serviceInstaller);
}
}
Building and Deploying a Windows Service using IsWiX
The above is a short video I made showing how to use WiX / IsWiX to generate a very clean MSI for installing a service. It's really easy, fast, elegant and free.
You can use the command line tool sc.exe to create and configure a windows service (basically insert the config into registry), assuming you have already deployed the built .exe to disk somewhere on your server.
http://support2.microsoft.com/kb/251192

Setup Project - Allow multiple installation of the same Windows Service

I have a question regarding to Setup Projects in .Net (c# language, Framework 4.0):
I made a setup project for a Windows Service, on the installation wizard, the user must input the name of the Windows Service as it would be installed. The setup program also creates a shortcut to the Uninstall program in case the user wants to remove that Windows Service.
The question is: how to let the user run the same setup program several times specifing different service name?
This behaviour could be required because the windows service is a socket consumer that connects to a server and retrieves data; to take advantage of the server capabilities the user could install the same windows service multiple times pointing to a different port on the server, to perform the data retrieving task much faster. The service is the same, the user just modify the port on the configuration file of the service, so that's why it's not logical to create a new version of the installer each time.
Any clue or suggestion would be appreciated, thanks in advance.
This can be done by using an multiple instances installation. The general approach is:
create a transform for each instance you want available to the user
use a custom EXE bootstrapper which applies a new transform to your MSI package each time a new instance is installed
The transform should change at least the PackageCode, ProductCode and UpgradeCode.
This is not supported by Visual Studio setup projects. So either you do it manually or use a commercial setup authoring tool which supports multiple instances.

Resources