You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/01/26 07:54:23 UTC
svn commit: r372465 - in
/directory/trunks/apacheds/standalone/installers/plugin/src/main:
java/org/apache/directory/server/standalone/installers/
java/org/apache/directory/server/standalone/installers/inno/
java/org/apache/directory/server/standalone/...
Author: akarasulu
Date: Wed Jan 25 22:54:17 2006
New Revision: 372465
URL: http://svn.apache.org/viewcvs?rev=372465&view=rev
Log:
started working on inno setup installer
Modified:
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoHelperUtils.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/Target.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoInstallerCommand.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoTarget.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/izpack/IzPackInstallerCommand.java
directory/trunks/apacheds/standalone/installers/plugin/src/main/resources/org/apache/directory/server/standalone/installers/inno/install.iss
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/CreateImageCommand.java Wed Jan 25 22:54:17 2006
@@ -73,6 +73,7 @@
// make the layout directories
File dir = new File( mymojo.getOutputDirectory(), target.getId() );
layout = new InstallationLayout( dir );
+ target.setLayout( layout );
layout.mkdirs();
@@ -306,12 +307,6 @@
}
}
- MojoHelperUtils.copyDependencies( mymojo, layout );
- }
-
-
- InstallationLayout getLayout()
- {
- return layout;
+ target.setLibArtifacts( MojoHelperUtils.copyDependencies( mymojo, layout ) );
}
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoHelperUtils.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoHelperUtils.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoHelperUtils.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/MojoHelperUtils.java Wed Jan 25 22:54:17 2006
@@ -27,7 +27,9 @@
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
+import java.util.ArrayList;
import java.util.Iterator;
+import java.util.List;
import java.util.Properties;
import org.apache.directory.server.standalone.daemon.InstallationLayout;
@@ -121,8 +123,9 @@
}
- public static void copyDependencies( ServiceInstallersMojo mymojo, InstallationLayout layout ) throws MojoFailureException
+ public static List copyDependencies( ServiceInstallersMojo mymojo, InstallationLayout layout ) throws MojoFailureException
{
+ List libArtifacts = new ArrayList();
Artifact artifact = null;
Iterator artifacts = mymojo.getProject().getRuntimeArtifacts().iterator();
while ( artifacts.hasNext() )
@@ -152,6 +155,7 @@
try
{
FileUtils.copyFileToDirectory( artifact.getFile(), layout.getLibDirectory() );
+ libArtifacts.add( artifact );
mymojo.getLog().info( "===>>> included ===>>> " + key );
}
catch ( IOException e )
@@ -161,5 +165,7 @@
}
}
}
+
+ return libArtifacts;
}
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/ServiceInstallersMojo.java Wed Jan 25 22:54:17 2006
@@ -23,6 +23,7 @@
import java.util.List;
import java.util.Set;
+import org.apache.directory.server.standalone.installers.inno.InnoInstallerCommand;
import org.apache.directory.server.standalone.installers.inno.InnoTarget;
import org.apache.directory.server.standalone.installers.izpack.IzPackInstallerCommand;
import org.apache.directory.server.standalone.installers.izpack.IzPackTarget;
@@ -205,16 +206,26 @@
Target target = ( Target ) allTargets.get( ii );
// create the installation image first
- CreateImageCommand imgCommand = new CreateImageCommand( this, target );
- imgCommand.execute();
+ CreateImageCommand imgCmd = new CreateImageCommand( this, target );
+ imgCmd.execute();
- // generate the installer
+ // ---------------------------------------------------------------
+ // Generate all installers
+ // ---------------------------------------------------------------
+
if ( target instanceof IzPackTarget )
{
IzPackInstallerCommand izPackCmd = null;
- izPackCmd = new IzPackInstallerCommand( this, ( IzPackTarget ) target, imgCommand.getLayout() );
+ izPackCmd = new IzPackInstallerCommand( this, ( IzPackTarget ) target );
izPackCmd.execute();
}
+
+// if ( target instanceof InnoTarget )
+// {
+// InnoInstallerCommand innoCmd = null;
+// innoCmd = new InnoInstallerCommand( this, ( InnoTarget ) target );
+// innoCmd.execute();
+// }
}
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/Target.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/Target.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/Target.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/Target.java Wed Jan 25 22:54:17 2006
@@ -18,8 +18,11 @@
import java.io.File;
+import java.util.List;
import java.util.Locale;
+import org.apache.directory.server.standalone.daemon.InstallationLayout;
+
/**
* The superclass for all installer targets.
@@ -70,6 +73,8 @@
private File serverConfigurationFile;
private File bootstrapperConfiguraitonFile;
+ private InstallationLayout layout;
+ private List libArtifacts;
public void setOsName( String osName )
{
@@ -252,5 +257,29 @@
public String getApplicationEmail()
{
return applicationEmail;
+ }
+
+
+ public void setLayout(InstallationLayout layout)
+ {
+ this.layout = layout;
+ }
+
+
+ public InstallationLayout getLayout()
+ {
+ return layout;
+ }
+
+
+ public void setLibArtifacts(List libArtifacts)
+ {
+ this.libArtifacts = libArtifacts;
+ }
+
+
+ public List getLibArtifacts()
+ {
+ return libArtifacts;
}
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoInstallerCommand.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoInstallerCommand.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoInstallerCommand.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoInstallerCommand.java Wed Jan 25 22:54:17 2006
@@ -17,9 +17,21 @@
package org.apache.directory.server.standalone.installers.inno;
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Properties;
+
import org.apache.directory.server.standalone.installers.MojoCommand;
+import org.apache.directory.server.standalone.installers.MojoHelperUtils;
+import org.apache.directory.server.standalone.installers.ServiceInstallersMojo;
+
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugin.logging.Log;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Touch;
+import org.codehaus.plexus.util.Os;
/**
@@ -30,7 +42,121 @@
*/
public class InnoInstallerCommand implements MojoCommand
{
+ private final Properties filterProperties = new Properties( System.getProperties() );
+ private final ServiceInstallersMojo mymojo;
+ private final InnoTarget target;
+ private final File innoConfigurationFile;
+ private final Log log;
+
+ private File innoCompiler;
+
+
+ public InnoInstallerCommand( ServiceInstallersMojo mymojo, InnoTarget target )
+ {
+ this.mymojo = mymojo;
+ this.target = target;
+ this.log = mymojo.getLog();
+ File imagesDir = target.getLayout().getBaseDirectory().getParentFile();
+ innoConfigurationFile = new File( imagesDir, target.getId() + ".iss" );
+ initializeFiltering();
+ }
+
+
+ /**
+ * Performs the following:
+ * <ol>
+ * <li>Bail if target is not for windows or current machine is not windows (no inno compiler)</li>
+ * <li>Filter and copy project supplied inno file into place if it has been specified and exists</li>
+ * <li>If no inno file exists filter and deposite into place bundled inno template</li>
+ * <li>Copy over the procrun executables with proper names for the application</li>
+ * <li>Bail if we cannot find the inno compiler executable</li>
+ * <li>Execute inno compiler it on the inno file</li>
+ * </ol>
+ */
public void execute() throws MojoExecutionException, MojoFailureException
{
+ // -------------------------------------------------------------------
+ // Do some error checking first
+ // -------------------------------------------------------------------
+
+ if ( ! target.getOsFamily().equals( "windows" ) )
+ {
+ throw new MojoFailureException( "Inno installers can only be targeted for windows platforms!" );
+ }
+
+ if ( ! Os.isFamily( "windows" ) )
+ {
+ log.warn( "Inno target " + target.getId() + " cannot be built on a non-windows machine!" );
+ }
+
+ if ( ! target.getInnoCompiler().exists() )
+ {
+ throw new MojoFailureException( "Cannot find Inno compiler: " + target.getInnoCompiler() );
+ }
+
+ // -------------------------------------------------------------------
+ // Copy over the procrun binaries with new app names
+ // -------------------------------------------------------------------
+
+ File prunsrvFile = new File( target.getLayout().getBinDirectory(), mymojo.getApplicationName() + ".exe" );
+ InputStream prunsrvIn = getClass().getResourceAsStream( "../prunsrv.exe" );
+
+ try
+ {
+ MojoHelperUtils.copyBinaryFile( prunsrvIn, prunsrvFile );
+ }
+ catch ( IOException e )
+ {
+ throw new MojoFailureException( "Failed to extract bundled prunsrv.exe " +
+ getClass().getResource( "../prunsrv.exe" ) + " into image destingation " + target.getLayout().getBinDirectory() );
+ }
+ }
+
+
+ private void initializeFiltering()
+ {
+ filterProperties.putAll( mymojo.getProject().getProperties() );
+ filterProperties.put( "app" , mymojo.getApplicationName() );
+
+ char firstChar = mymojo.getApplicationName().charAt( 0 );
+ firstChar = Character.toUpperCase( firstChar );
+ filterProperties.put( "app.displayname", firstChar + mymojo.getApplicationName().substring( 1 ) );
+
+ if ( mymojo.getApplicationVersion() != null )
+ {
+ filterProperties.put( "app.version", mymojo.getApplicationVersion() );
+ }
+
+ if ( mymojo.getApplicationDescription() != null )
+ {
+ filterProperties.put( "app.init.message", mymojo.getApplicationDescription() );
+ }
+
+ // -------------------------------------------------------------------
+ // WARNING: hard code values just to for testing
+ // -------------------------------------------------------------------
+
+ filterProperties.put( "app.author" , target.getApplicationAuthor() );
+ filterProperties.put( "app.email" , target.getApplicationEmail() );
+ filterProperties.put( "app.url" , target.getApplicationUrl() );
+ filterProperties.put( "app.java.version" , target.getApplicationJavaVersion() );
+ filterProperties.put( "app.license" , target.getLayout().getLicenseFile().getPath() );
+
+ if ( ! target.getLayout().getReadmeFile().exists() )
+ {
+ touchFile( target.getLayout().getReadmeFile() );
+ }
+ filterProperties.put( "app.readme" , target.getLayout().getReadmeFile().getPath() );
+ filterProperties.put( "app.icon" , target.getLayout().getLogoIconFile().getPath() );
+ filterProperties.put( "image.basedir", target.getLayout().getBaseDirectory().getPath() );
+ }
+
+
+ static void touchFile( File file )
+ {
+ Touch touch = new Touch();
+ touch.setProject( new Project() );
+ touch.setFile( file );
+ touch.execute();
}
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoTarget.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoTarget.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoTarget.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/inno/InnoTarget.java Wed Jan 25 22:54:17 2006
@@ -16,6 +16,8 @@
*/
package org.apache.directory.server.standalone.installers.inno;
+import java.io.File;
+
import org.apache.directory.server.standalone.installers.Target;
@@ -27,5 +29,17 @@
*/
public class InnoTarget extends Target
{
+ private File innoCompiler = new File( "C:\\Program Files\\Inno Setup 5\\ISCC.exe" );
+
+
+ public void setInnoCompiler(File innoCompiler)
+ {
+ this.innoCompiler = innoCompiler;
+ }
+
+ public File getInnoCompiler()
+ {
+ return innoCompiler;
+ }
}
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/izpack/IzPackInstallerCommand.java
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/izpack/IzPackInstallerCommand.java?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/izpack/IzPackInstallerCommand.java (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/java/org/apache/directory/server/standalone/installers/izpack/IzPackInstallerCommand.java Wed Jan 25 22:54:17 2006
@@ -62,10 +62,10 @@
private File izPackBase;
- public IzPackInstallerCommand( ServiceInstallersMojo mymojo, IzPackTarget target, InstallationLayout layout )
+ public IzPackInstallerCommand( ServiceInstallersMojo mymojo, IzPackTarget target )
{
this.target = target;
- this.layout = layout;
+ this.layout = target.getLayout();
this.mymojo = mymojo;
File imageDir = layout.getBaseDirectory().getParentFile();
izPackBase = new File( imageDir, target.getId() );
Modified: directory/trunks/apacheds/standalone/installers/plugin/src/main/resources/org/apache/directory/server/standalone/installers/inno/install.iss
URL: http://svn.apache.org/viewcvs/directory/trunks/apacheds/standalone/installers/plugin/src/main/resources/org/apache/directory/server/standalone/installers/inno/install.iss?rev=372465&r1=372464&r2=372465&view=diff
==============================================================================
--- directory/trunks/apacheds/standalone/installers/plugin/src/main/resources/org/apache/directory/server/standalone/installers/inno/install.iss (original)
+++ directory/trunks/apacheds/standalone/installers/plugin/src/main/resources/org/apache/directory/server/standalone/installers/inno/install.iss Wed Jan 25 22:54:17 2006
@@ -1,18 +1,18 @@
-; Script generated by the Inno Setup Script Wizard.
+; Script generated by the Apache Maven 2 Installers Plugin
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
-#define MyAppName "Triplesec"
-#define MyAppVerName "Triplesec 0.6"
-#define MyAppVersion "0.6"
-#define MyAppPublisher "Solarsis Group, LLC."
-#define MyAppURL "http://triplesec.safehaus.org"
-#define MyAppExeName "triplesecw.exe"
-#define MyAppCompanyName "Solarsis Group LLC."
-#define MyAppDescription "Triplesec Server"
-#define MyAppCopyright "Copyright (c) 2005 Solarsis Group LLC."
+#define MyAppName "${app}"
+#define MyAppVerName "${app} ${app.version}"
+#define MyAppVersion "${app.version}"
+#define MyAppPublisher "${app.author}"
+#define MyAppURL "${app.url}"
+#define MyAppExeName "${app}w.exe"
+#define MyAppCompanyName "${app.company.name}"
+#define MyAppDescription "${app.description}"
+#define MyAppCopyright "Copyright (c) ${app.copyright.year} ${app.company.name}"
-; Set this constant the path where server main is checked out on your system
-#define SourceBase "C:\cygwin\home\akarasulu\projects\safehaus\triplesec\trunk"
+; Set this constant to the path where your installation image resides
+#define SourceBase "${image.basedir}"
[Setup]
AppName={#MyAppName}
@@ -21,13 +21,13 @@
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
-DefaultDirName={pf}\triplesec-0.6
+DefaultDirName={pf}\${app}
DefaultGroupName={#MyAppName}
-LicenseFile={#SourceBase}\installers\bin\win32\resources\safehaus-license.rtf
-OutputDir=C:\Documents and Settings\akarasulu\Desktop
-OutputBaseFilename=triplesec-server-0.6-setup
-SetupIconFile={#SourceBase}\installers\bin\win32\resources\safehaus.ico
+LicenseFile={#SourceBase}\${app.license}
+OutputDir=${installer.output.directory}
+OutputBaseFilename=${app}-${version}-setup
+SetupIconFile={#SourceBase}\${app.icon}
Compression=lzma
SolidCompression=true
VersionInfoVersion={#MyAppVersion}
@@ -44,25 +44,34 @@
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
[Files]
-Source: {#SourceBase}\installers\bin\win32\triplesecw.exe; DestDir: {app}\bin; Tasks: ; Languages:
-Source: {#SourceBase}\installers\bin\win32\triplesec.exe; DestDir: {app}\bin
-Source: {#SourceBase}\main\target\triplesec-main-0.6.jar; DestDir: {app}\bin; DestName: bootstrap.jar
-; NOTE: Don't use "Flags: ignoreversion" on any shared system files
-Source: {#SourceBase}\main\conf\server.ldif; DestDir: {app}\conf; DestName: server.ldif; Tasks: ; Languages:
-Source: {#SourceBase}\main\conf\log4j.properties; DestDir: {app}\conf; DestName: log4j.properties
-Source: {#SourceBase}\main\conf\server.xml; DestDir: {app}\conf; DestName: server.xml
+; bin directory targets
+Source: {#SourceBase}\bin\${app}w.exe; DestDir: {app}\bin; Tasks: ; Languages:
+Source: {#SourceBase}\bin\${app}.exe; DestDir: {app}\bin
+Source: {#SourceBase}\bin\bootstrapper.jar; DestDir: {app}\bin; DestName: bootstrapper.jar
+Source: {#SourceBase}\bin\logger.jar; DestDir: {app}\bin; DestName: logger.jar
+Source: {#SourceBase}\bin\daemon.jar; DestDir: {app}\bin; DestName: daemon.jar
+; conf directory targets
+Source: {#SourceBase}\conf\log4j.properties; DestDir: {app}\conf; DestName: log4j.properties
+Source: {#SourceBase}\conf\server.xml; DestDir: {app}\conf; DestName: server.xml
+Source: {#SourceBase}\conf\bootstrapper.properties; DestDir: {app}\conf; DestName: bootstrapper.properties
+; top level directory targets
+Source: {#SourceBase}\${app.license.name}; DestDir: {app}; DestName: ${app.license.name}
+Source: {#SourceBase}\${app.readme.name}; DestDir: {app}; DestName: ${app.readme.name}
+Source: {#SourceBase}\${app.icon.name}; DestDir: {app}; DestName: ${app.icon.name}
+; lib directory targets
+${app.lib.jars}
[Icons]
-Name: {group}\Service Settings; Filename: {app}\bin\triplesecw.exe; Parameters: //ES//Triplesec; IconIndex: 0
-Name: {userdesktop}\{#MyAppName}; Filename: {app}\bin\triplesecw.exe; Tasks: desktopicon; Parameters: //ES//Triplesec; IconIndex: 0; Languages:
-Name: {group}\Tray Monitor; Filename: {app}\bin\triplesecw.exe; Parameters: //MS//Triplesec; IconIndex: 0
-Name: {group}\Test Service; Filename: {app}\bin\triplesec.exe; IconIndex: 0
+Name: {group}\Service Settings; Filename: {app}\bin\${app}w.exe; Parameters: //ES//${app}; IconIndex: 0
+Name: {userdesktop}\{#MyAppName}; Filename: {app}\bin\${app}w.exe; Tasks: desktopicon; Parameters: //ES//${app}; IconIndex: 0; Languages:
+Name: {group}\Tray Monitor; Filename: {app}\bin\${app}w.exe; Parameters: //MS//${app}; IconIndex: 0
+Name: {group}\Test Service; Filename: {app}\bin\${app}.exe; IconIndex: 0
[Run]
-Filename: {app}\bin\triplesec.exe; WorkingDir: {app}\bin; Tasks: ; Languages: ; Parameters: "//IS//Triplesec --Description=""Triplesec Service 0.6 - http://triplesec.safehaus.org"" --DisplayName=Triplesec --Install=""{app}\bin\triplesec.exe"" --StartMode=jvm --StopMode=jvm --StartClass=org.safehaus.triplesec.Server --StartParams=""{app}#start"" --StopClass=org.safehaus.triplesec.Server --StopParams=""{app}#stop"" --Startup=manual --JvmOptions=""-Dtriplesec.home={app} -Djava.endorsed.dirs={app}\common\endorsed -Djava.io.tmpdir={app}\temp"" --Classpath=""{app}\bin\bootstrap.jar;{app}\conf"" --LogPath=""{app}\logs"" --LogPrefix=service.log --LogLevel=debug --StdOutput=""{app}\logs\stdout.log"" --StdError=""{app}\logs\stderr.log"""; Flags: runhidden
-Filename: {app}\bin\triplesecw.exe; Parameters: //ES//Triplesec; WorkingDir: {app}\bin; Flags: postinstall nowait; Description: Runs the configuration manager for the triplesec windows service
+Filename: {app}\bin\${app}.exe; WorkingDir: {app}\bin; Tasks: ; Languages: ; Parameters: "//IS//${app} --Description=""${app} Service ${app.version} - ${app.url}"" --DisplayName=${app} --Install=""{app}\bin\${app}.exe"" --StartMode=jvm --StopMode=jvm --StartClass=org.apache.directory.server.standalone.daemon.Bootstrapper --StartParams=""{app}#start"" --StopClass=org.apache.directory.server.standalone.daemon.Bootstrapper --StopParams=""{app}#stop"" --Startup=manual --JvmOptions=""-D${app}.home={app}"" --Classpath=""{app}\bin\bootstrapper.jar;{app}\conf;{app}\bin\logger.jar;{app}\bin\daemon.jar"" --LogPath=""{app}\var\log"" --LogPrefix=${app}.log --LogLevel=debug --StdOutput=""{app}\var\log\${app}-stdout.log"" --StdError=""{app}\var\log\${app}-stderr.log"""; Flags: runhidden
+Filename: {app}\bin\${app}w.exe; Parameters: //ES//${app}; WorkingDir: {app}\bin; Flags: postinstall nowait; Description: Runs the configuration manager for the ${app} windows service
[Registry]
[UninstallRun]
-Filename: {app}\bin\triplesec.exe; WorkingDir: {app}\bin; Parameters: //DS//Triplesec
+Filename: {app}\bin\${app}.exe; WorkingDir: {app}\bin; Parameters: //DS//${app}