directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pamarce...@apache.org
Subject svn commit: r952927 - in /directory/studio/branches/studio-improved-build/application/application-win32-exe: ./ src/ src/main/ src/main/assembly/ src/main/resources/
Date Wed, 09 Jun 2010 09:41:34 GMT
Author: pamarcelot
Date: Wed Jun  9 09:41:33 2010
New Revision: 952927

URL: http://svn.apache.org/viewvc?rev=952927&view=rev
Log:
Added project for Win32 installer generation.

Added:
    directory/studio/branches/studio-improved-build/application/application-win32-exe/
    directory/studio/branches/studio-improved-build/application/application-win32-exe/pom.xml
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/assembly.xml
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
  (with props)
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/header_studio.bmp
  (with props)
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi
  (with props)
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/studio-installer.ico
  (with props)
    directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/welcome_studio.bmp
  (with props)

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/pom.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/pom.xml?rev=952927&view=auto
==============================================================================
--- directory/studio/branches/studio-improved-build/application/application-win32-exe/pom.xml
(added)
+++ directory/studio/branches/studio-improved-build/application/application-win32-exe/pom.xml
Wed Jun  9 09:41:33 2010
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one or more
+  contributor license agreements.  See the NOTICE file distributed with
+  this work for additional information regarding copyright ownership.
+  The ASF licenses this file to You under the Apache License, Version 2.0
+  (the "License"); you may not use this file except in compliance with
+  the License.  You may obtain a copy of the License at
+  
+  http://www.apache.org/licenses/LICENSE-2.0
+  
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+<!--
+  @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <groupId>org.apache.directory.studio</groupId>
+    <artifactId>application</artifactId>
+    <version>1.5.4-SNAPSHOT</version>
+  </parent>
+  
+  <artifactId>ApacheDirectoryStudio-win32-exe</artifactId>
+  <name>Apache Directory Studio Application Win32 Exe</name>
+  <packaging>pom</packaging>
+  
+  <properties>
+    <tmp-dir>${project.build.directory}/ApacheDirectoryStudio-win32-exe-tmp</tmp-dir>
+    <files-dir>${tmp-dir}/files</files-dir>
+    <installer-file-name>ApacheDirectoryStudio-win32-${version}.exe</installer-file-name>
+  </properties>
+  
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-dependency-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>generate-resources</phase>
+            <goals>
+              <goal>copy</goal>
+            </goals>
+            <configuration>
+              <artifactItems>
+                <artifactItem>
+                  <groupId>org.apache.directory.studio</groupId>
+                  <artifactId>ApacheDirectoryStudio-win32</artifactId>
+                  <type>zip</type>
+                  <version>${project.version}</version> <!-- TODO -->
+                  <outputDirectory>${project.build.directory}</outputDirectory>
+                </artifactItem>
+              </artifactItems>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+      
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-antrun-plugin</artifactId>
+        <executions>
+          <execution>
+            <phase>process-resources</phase>
+            <configuration>
+              <tasks>
+                <unzip dest="${tmp-dir}">
+                    <fileset dir="${project.build.directory}" includes="ApacheDirectoryStudio-win32-*.zip"/>
+                </unzip>
+                <copy file="src/main/resources/installer.nsi" todir="${tmp-dir}">
+                  <filterset>
+                    <filter token="version" value="${project.version}" />
+                    <filter token="installer-file-name" value="${installer-file-name}"
/>
+                  </filterset>
+                </copy>
+                <copy file="src/main/resources/header_studio.bmp" todir="${tmp-dir}"/>
+                <copy file="src/main/resources/studio-installer.ico" todir="${tmp-dir}"/>
+                <copy file="src/main/resources/welcome_studio.bmp" todir="${tmp-dir}"/>
+              </tasks>
+            </configuration>
+            <goals>
+              <goal>run</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+      
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>exec-maven-plugin</artifactId>
+        <version>1.1</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>exec</goal>
+            </goals>
+              <configuration>
+                <workingDirectory>${tmp-dir}</workingDirectory>
+                <executable>makensis</executable>
+                <arguments>
+                  <argument>installer.nsi</argument>
+                </arguments>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+  
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <executions>
+          <!-- Create the distribution file -->
+          <execution>
+            <phase>package</phase>
+            <configuration>
+              <descriptors>
+                <descriptor>src/main/assembly/assembly.xml</descriptor>
+              </descriptors>
+            </configuration>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  
+</project>

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/assembly.xml
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/assembly.xml?rev=952927&view=auto
==============================================================================
--- directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/assembly.xml
(added)
+++ directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/assembly/assembly.xml
Wed Jun  9 09:41:33 2010
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+    
+    http://www.apache.org/licenses/LICENSE-2.0
+    
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<!-- $Rev:  $ $Date:  $ -->
+<assembly xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/assembly-1.1.0-SNAPSHOT.xsd">
+    <id></id>
+    <formats>
+        <format>zip</format>
+    </formats>
+    <files>
+        <file>
+            <source>${project.build.directory}/${installer-file-name}</source>
+        </file>
+    </files>
+</assembly>

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh?rev=952927&view=auto
==============================================================================
--- directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
(added)
+++ directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
Wed Jun  9 09:41:33 2010
@@ -0,0 +1,437 @@
+     ;_____________________________ HEADER FILE BEGIN ____________________________
+
+     # Advanced Uninstall Log NSIS header
+     # Version 1.0 2007-01-31
+     # By Red Wine (http://nsis.sf.net/User:Red_Wine)
+     
+     # Usage: See included examples Uninstall_Log_Default_UI.nsi - Uninstall_Log_Modern_UI.nsi
+
+!verbose push
+   !verbose 3
+
+!ifndef ADVANCED_UNINSTALL.LOG_NSH
+   !define ADVANCED_UNINSTALL.LOG_NSH
+
+!ifndef INSTDIR_REG_ROOT | INSTDIR_REG_KEY
+   !error "You must properly define both INSTDIR_REG_ROOT and INSTDIR_REG_KEY"
+!endif
+
+!ifndef UNINSTALL_LOG
+   !define UNINSTALL_LOG         "Uninstall"
+!endif
+
+!ifndef UNINST_LOG_VERBOSE
+   !define UNINST_LOG_VERBOSE    "3"
+!endif
+
+!verbose pop
+
+!echo "Advanced Uninstall Log NSIS header v1.0 2007-01-31 by Red Wine (http://nsis.sf.net/User:Red_Wine)"
+
+!verbose push
+   !verbose ${UNINST_LOG_VERBOSE}
+
+!define UNINST_EXE     "$INSTDIR\${UNINSTALL_LOG}.exe"
+!define UNINST_DAT     "$INSTDIR\${UNINSTALL_LOG}.dat"
+!define UNLOG_PART     "$PLUGINSDIR\part."
+!define UNLOG_TEMP     "$PLUGINSDIR\unlog.tmp"
+!define EXCLU_LIST     "$PLUGINSDIR\exclude.tmp"
+!define UNLOG_HEAD     "=========== Uninstaller Log please do not edit this file ==========="
+
+ var unlog_tmp_0
+ var unlog_tmp_1
+ var unlog_tmp_2
+ var unlog_tmp_3
+ var unlog_error
+
+!include FileFunc.nsh
+!include TextFunc.nsh
+
+!insertmacro Locate
+!insertmacro un.Locate
+!insertmacro DirState
+!insertmacro un.DirState
+!insertmacro FileJoin
+!insertmacro TrimNewLines
+!insertmacro un.TrimNewLines
+
+;.............................. Uninstaller Macros ..............................
+
+!macro UNINSTALL.LOG_BEGIN_UNINSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+        IfFileExists "${UNINST_DAT}" +3
+        MessageBox MB_ICONSTOP|MB_OK "${UNINST_DAT} not found, unable to perform uninstall."
/SD IDOK
+        Quit
+
+        StrCmp "$PLUGINSDIR" "" 0 +2
+           InitPluginsDir
+
+        CopyFiles "${UNINST_DAT}" "${UNLOG_TEMP}"
+        FileOpen $unlog_tmp_2 "${UNLOG_TEMP}" r
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_END_UNINSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+        FileClose $unlog_tmp_2
+        DeleteRegValue ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}.dat"
+        DeleteRegValue ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory"
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL TargetDir
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+     !ifndef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+        !error "You must insert either Interactive or Unattended Uninstall neither both,
neither none."
+     !endif
+
+     !ifdef INTERACTIVE_UNINSTALL
+        GetTempFileName $unlog_tmp_5 "$PLUGINSDIR"
+        FileOpen $unlog_tmp_4 "$unlog_tmp_5" a
+     !endif
+
+        ${PerfomUninstall} "${TargetDir}" "${UnLog_Uninstall_CallBackFunc}"
+
+     !ifdef INTERACTIVE_UNINSTALL
+        FileClose $unlog_tmp_4
+     !endif
+
+  !verbose pop
+!macroend
+
+
+!define PerfomUninstall "!insertmacro PERFORMUNINSTALL"
+
+!macro PERFORMUNINSTALL TargetDir UninstCallBackFunc
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+   !define ID ${__LINE__}
+
+	${un.Locate} "${TargetDir}" "/L=F" "${UninstCallBackFunc}"
+
+    loop_${ID}:
+
+	StrCpy $unlog_tmp_1 0
+
+	${un.Locate} "${TargetDir}" "/L=DE" "${UninstCallBackFunc}"
+	StrCmp $unlog_tmp_1 "0" 0 loop_${ID}
+
+        ${un.DirState} "${TargetDir}" $unlog_tmp_0
+        StrCmp "$unlog_tmp_0" "0" 0 +2
+        RmDir "${TargetDir}"
+
+	IfErrors 0 +2
+	MessageBox MB_ICONEXCLAMATION|MB_OK "${UNINSTALL_LOG} Log error" /SD IDOK
+
+   !undef ID
+
+  !verbose pop
+!macroend
+
+
+!macro INTERACTIVE_UNINSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+     
+     !ifdef INTERACTIVE_UNINSTALL
+        !error "INTERACTIVE_UNINSTALL is already defined"
+     !endif
+
+        var unlog_tmp_4
+        var unlog_tmp_5
+
+     !define INTERACTIVE_UNINSTALL
+
+     !ifdef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+        !error "You must insert either Interactive or Unattended Uninstall neither both,
neither none."
+     !endif
+
+     !ifdef UnLog_Uninstall_CallBackFunc
+        !undef UnLog_Uninstall_CallBackFunc
+     !endif
+
+     !ifndef UnLog_Uninstall_CallBackFunc
+        !insertmacro UNINSTALL.LOG_UNINSTALL_INTERACTIVE
+        !define UnLog_Uninstall_CallBackFunc "un._LocateCallBack_Function_Interactive"
+     !endif
+
+  !verbose pop
+!macroend
+
+
+!macro UNATTENDED_UNINSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+     !ifdef UNATTENDED_UNINSTALL
+        !error "UNATTENDED_UNINSTALL is already defined"
+     !endif
+
+     !define UNATTENDED_UNINSTALL
+
+     !ifdef INTERACTIVE_UNINSTALL & UNATTENDED_UNINSTALL
+        !error "You must insert either Interactive or Unattended Uninstall neither both,
neither none."
+     !endif
+
+     !ifdef UnLog_Uninstall_CallBackFunc
+        !undef UnLog_Uninstall_CallBackFunc
+     !endif
+
+     !ifndef UnLog_Uninstall_CallBackFunc
+        !insertmacro UNINSTALL.LOG_UNINSTALL_UNATTENDED
+        !define UnLog_Uninstall_CallBackFunc "un._LocateCallBack_Function_Unattended"
+     !endif
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL_UNATTENDED
+
+  Function un._LocateCallBack_Function_Unattended
+    start:
+        FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+        ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+        StrCmp "$unlog_tmp_3" "$R9" islog
+        IfErrors nolog
+        goto start
+
+    islog:
+        IfFileExists "$R9\*.*" isdir
+
+    isfile:
+        Delete "$R9"
+        goto end
+
+    isdir:
+        RmDir "$R9"
+	IntOp $unlog_tmp_1 $unlog_tmp_1 + 1
+        goto end
+
+    nolog:
+        ClearErrors
+        StrCmp "$R9" "${UNINST_EXE}" isfile
+        StrCmp "$R9" "${UNINST_DAT}" isfile
+
+    end:
+        FileSeek $unlog_tmp_2 0 SET
+	Push $unlog_tmp_0
+  FunctionEnd
+
+!macroend
+
+
+!macro UNINSTALL.LOG_UNINSTALL_INTERACTIVE
+
+  Function un._LocateCallBack_Function_Interactive
+    start:
+        FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+        ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+        StrCmp "$unlog_tmp_3" "$R9" islog
+        IfErrors nolog
+        goto start
+
+    islog:
+        IfFileExists "$R9\*.*" isdir
+
+    isfile:
+        Delete "$R9"
+        goto end
+
+    isdir:
+        RmDir "$R9"
+	IntOp $unlog_tmp_1 $unlog_tmp_1 + 1
+        goto end
+
+    nolog:
+        ClearErrors
+	FileSeek $unlog_tmp_4 0 SET
+    read:
+        FileRead $unlog_tmp_4 "$unlog_tmp_3"
+        ${un.TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+        StrCmp "$unlog_tmp_3" "$R9" end
+        IfErrors +2
+        goto read
+        ClearErrors 
+        StrCmp "$R9" "${UNINST_EXE}" isfile
+        StrCmp "$R9" "${UNINST_DAT}" isfile
+        IfFileExists "$R9\*.*" msgdir
+
+	MessageBox MB_ICONQUESTION|MB_YESNO \
+        'Delete File "$R9"?' /SD IDNO IDYES isfile IDNO nodel
+
+    msgdir:
+        MessageBox MB_ICONQUESTION|MB_YESNO \
+        'Delete Directory "$R9"?' /SD IDNO IDYES isdir IDNO nodel
+
+    nodel:
+	FileSeek $unlog_tmp_4 0 END
+	FileWrite $unlog_tmp_4 "$R9$\r$\n"
+
+    end:
+        FileSeek $unlog_tmp_2 0 SET
+	Push $unlog_tmp_0
+  FunctionEnd
+
+!macroend
+
+;................................. Installer Macros .................................
+
+!macro UNINSTALL.LOG_INSTALL_UNATTENDED
+
+  Function _LocateCallBack_Function_Install
+    loop:
+        FileRead $unlog_tmp_2 "$unlog_tmp_3" ${NSIS_MAX_STRLEN}
+        ${TrimNewLines} "$unlog_tmp_3" "$unlog_tmp_3"
+        IfErrors 0 +4
+        ClearErrors
+        FileSeek $unlog_tmp_2 0 SET
+        goto next
+        StrCmp "$R9" "$unlog_tmp_3" end
+        goto loop
+    next:
+	FileWrite $unlog_tmp_1 "$R9$\r$\n"
+    end:
+	Push $unlog_tmp_0
+  FunctionEnd
+
+!macroend
+
+
+!ifdef UnLog_Install_Func_CallBack
+    !undef UnLog_Install_Func_CallBack
+!endif
+
+!ifndef UnLog_Install_Func_CallBack
+    !insertmacro UNINSTALL.LOG_INSTALL_UNATTENDED
+    !define UnLog_Install_Func_CallBack "_LocateCallBack_Function_Install"
+!endif
+
+
+!macro UNINSTALL.LOG_PREPARE_INSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+      Push $0
+      Push $1
+        ClearErrors
+        ReadRegStr "$0"  ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory"
+        IfErrors next
+        ${DirState} "$0" $1
+        StrCmp "$1" "-1" next
+        StrCmp "$1" "0" next
+        IfFileExists "$0\${UNINSTALL_LOG}.dat" next
+        MessageBox MB_ICONEXCLAMATION|MB_OK \
+        "Previous installation detected at $0.$\n\
+        Required file ${UNINSTALL_LOG}.dat is missing.$\n$\nIt is highly recommended \
+        to select an empty directory and perform a fresh installation." /SD IDOK
+        StrCpy $unlog_error "error"
+
+    next:
+        ClearErrors
+        StrCmp "$PLUGINSDIR" "" 0 +2
+           InitPluginsDir
+
+        GetTempFileName "$1"
+        FileOpen $0 "$1" w
+        FileWrite $0 "${UNLOG_HEAD}$\r$\n"
+        FileClose $0
+        Rename "$1" "${UNLOG_TEMP}"
+      Pop $1
+      Pop $0
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_UPDATE_INSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+        Delete "${UNINST_DAT}"
+        Rename "${UNLOG_TEMP}" "${UNINST_DAT}"
+        WriteUninstaller "${UNINST_EXE}"
+        WriteRegStr ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}.dat" "${UNINST_DAT}"
+        WriteRegStr ${INSTDIR_REG_ROOT} "${INSTDIR_REG_KEY}" "${UNINSTALL_LOG}Directory"
"$INSTDIR"
+
+  !verbose pop
+!macroend
+
+
+!define uninstall.log_install "!insertmacro UNINSTALL.LOG_INSTALL"
+
+!macro UNINSTALL.LOG_INSTALL FileOpenWrite FileOpenRead TargetDir
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+	FileOpen $unlog_tmp_1 "${FileOpenWrite}" w
+	FileOpen $unlog_tmp_2 "${FileOpenRead}" r
+
+	${Locate} "${TargetDir}" "/L=FD" "${UnLog_Install_Func_CallBack}"
+
+        StrCmp $unlog_error "error" 0 +2
+        ClearErrors
+
+	IfErrors 0 +2
+	MessageBox MB_ICONEXCLAMATION|MB_OK "Error creating ${UNINSTALL_LOG} Log." /SD IDOK
+
+	FileClose $unlog_tmp_1
+	FileClose $unlog_tmp_2
+
+  !verbose pop
+!macroend
+
+
+!define uninstall.log_mergeID "!insertmacro UNINSTALL.LOG_MERGE"
+
+!macro UNINSTALL.LOG_MERGE UnlogPart
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+        ${FileJoin} "${UNLOG_TEMP}" "${UnlogPart}" "${UNLOG_TEMP}"
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_OPEN_INSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+        StrCmp $unlog_error "error" +2
+        ${uninstall.log_install} "${EXCLU_LIST}" "${UNINST_DAT}" "$OUTDIR"
+
+  !verbose pop
+!macroend
+
+
+!macro UNINSTALL.LOG_CLOSE_INSTALL
+  !verbose push
+     !verbose ${UNINST_LOG_VERBOSE}
+
+   !define ID ${__LINE__}
+
+        ${uninstall.log_install} "${UNLOG_PART}${ID}" "${EXCLU_LIST}" "$OUTDIR"
+        ${uninstall.log_mergeID} "${UNLOG_PART}${ID}"
+
+   !undef ID ${__LINE__}
+
+  !verbose pop
+!macroend
+
+!endif
+
+!verbose pop
+     ;_____________________________ HEADER FILE END ____________________________
+

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/AdvUninstLog.nsh
------------------------------------------------------------------------------
    svn:executable = *

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/header_studio.bmp
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/header_studio.bmp?rev=952927&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/header_studio.bmp
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/header_studio.bmp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi?rev=952927&view=auto
==============================================================================
--- directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi
(added)
+++ directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi
Wed Jun  9 09:41:33 2010
@@ -0,0 +1,232 @@
+#
+#  Licensed to the Apache Software Foundation (ASF) under one
+#  or more contributor license agreements.  See the NOTICE file
+#  distributed with this work for additional information
+#  regarding copyright ownership.  The ASF licenses this file
+#  to you under the Apache License, Version 2.0 (the
+#  "License"); you may not use this file except in compliance
+#  with the License.  You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+#  Unless required by applicable law or agreed to in writing,
+#  software distributed under the License is distributed on an
+#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+#  KIND, either express or implied.  See the License for the
+#  specific language governing permissions and limitations
+#  under the License.
+#
+
+#
+# Constants and variables
+#
+    !define Application "Apache Directory Studio"
+    !define Version "@version@"
+    !define Icon "studio-installer.ico"
+    !define WelcomeImage "welcome_studio.bmp"
+    !define HeaderImage "header_studio.bmp"
+    !define OutFile "../@installer-file-name@"
+    !define SourceFolder "ApacheDirectoryStudio-win32-${Version}"
+    !define INSTDIR_REG_ROOT "HKLM"
+    !define INSTDIR_REG_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${Application}"
+
+#
+# Modules inclusions
+#
+    # Modern UI module
+    !include "MUI.nsh"
+    
+    # Uninstall log module
+    !include AdvUninstLog.nsh
+    
+#
+# Configuration
+#
+    # Name of the application
+    Name "${Application}"
+    
+    # Output installer file
+    OutFile "${OutFile}"
+    
+    # Default install directory
+    InstallDir "$PROGRAMFILES\${Application}"
+    
+    # Branding text
+    BrandingText "${Application} - ${Version}"
+
+    # Activating XPStyle
+    XPStyle on
+
+    # Installer icon
+    !define MUI_ICON "${Icon}"
+    
+    # Uninstaller icon
+    !define MUI_UNICON "${Icon}"
+    
+    # Welcome image
+    !define MUI_WELCOMEFINISHPAGE_BITMAP "${WelcomeImage}"
+    
+    # Activating header image
+    !define MUI_HEADERIMAGE
+    !define MUI_HEADERIMAGE_BITMAP "${HeaderImage}"
+
+    # Activating small description for the components page
+    !define MUI_COMPONENTSPAGE_SMALLDESC
+    
+    # Activating a confirmation when aborting the installation
+    !define MUI_ABORTWARNING
+    
+    # Unattended uninstallation
+    !insertmacro UNATTENDED_UNINSTALL
+
+#
+# Pages
+#
+    #
+    # Installer pages
+    #
+    
+    # Welcome page
+    !insertmacro MUI_PAGE_WELCOME
+    
+    # License page
+    !insertmacro MUI_PAGE_LICENSE "${SourceFolder}\LICENSE.txt"
+    
+    # Components page
+    #!insertmacro MUI_PAGE_COMPONENTS
+    
+    # Directory page
+    #!define MUI_DIRECTORYPAGE_VARIABLE $APPLICATION_HOME_DIR
+    !insertmacro MUI_PAGE_DIRECTORY
+    
+    # Installation page
+    !insertmacro MUI_PAGE_INSTFILES
+    
+    # Finish page
+    !insertmacro MUI_PAGE_FINISH
+    
+    #
+    # Uninstaller pages
+    #
+    
+    # Confirmation page
+    !insertmacro MUI_UNPAGE_CONFIRM
+    
+    # Uninstallation page
+    !insertmacro MUI_UNPAGE_INSTFILES
+
+#
+# Languages (the first one is the default one)
+#
+    !insertmacro MUI_LANGUAGE "English"
+    !insertmacro MUI_LANGUAGE "French"
+    !insertmacro MUI_LANGUAGE "German"
+    
+#
+# Functions
+#
+    # Internationalized strings
+    LangString message ${LANG_ENGLISH} "${Application} is already installed.$\n$\nClick 'OK'
to remove the previous version$\nor 'Cancel' to cancel this installation."
+    LangString message ${LANG_FRENCH} "${Application} est déjà installé.$\n$\nCliquez
sur 'OK' pour supprimer la version précédente$\nou sur 'Annuler' pour annuler cette installation."
+    LangString message ${LANG_GERMAN} "${Application} ist bereits installiert.$\n$\nKlicke
'OK' um die frühere Version zu entfernen$\noder 'Abbruch' um die Installation abzubrechen."
+
+    # onInit function
+    Function .onInit
+        # Preventing the window to close automatically at the end of the (un)installation
+        SetAutoClose false
+    
+        # Verifying if the application is already installed
+        ReadRegStr $R0 "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "UninstallString"
+        StrCmp $R0 "" done
+        
+        # Getting install location
+        ReadRegStr $R1 "${INSTDIR_REG_ROOT}" "SOFTWARE\${Application}" "InstallDir"
+        StrCmp $R1 "" done
+    
+        # The application is already installed
+        # Asking before running the uninstaller
+        MessageBox MB_OKCANCEL|MB_ICONEXCLAMATION "$(message)" \
+        IDOK uninst
+        Abort
+      
+        # Running the uninstaller
+        uninst:
+            ExecWait '$R0 _?=$R1'
+            
+        done:
+            # Preparing the uninstall log
+            !insertmacro UNINSTALL.LOG_PREPARE_INSTALL
+    FunctionEnd
+
+    # onInstSuccess function
+    Function .onInstSuccess
+         # Updating the uninstall log
+         !insertmacro UNINSTALL.LOG_UPDATE_INSTALL
+    FunctionEnd
+    
+    # UN.onInit function
+    Function UN.onInit 
+         # Begin uninstall
+         !insertmacro UNINSTALL.LOG_BEGIN_UNINSTALL
+    FunctionEnd
+
+#
+# Sections
+#
+    # Installer section
+    Section
+        SetOutPath "$INSTDIR"
+        
+        # Opening uninstall log
+        !insertmacro UNINSTALL.LOG_OPEN_INSTALL
+        
+        # Adding installer source files
+        File /r "${SourceFolder}\*"
+        
+        # Storing install location
+        WriteRegStr "${INSTDIR_REG_ROOT}" "SOFTWARE\${Application}" "InstallDir" $INSTDIR
+
+        # Creating directories in the start menu
+        CreateDirectory "$SMPROGRAMS\Apache Directory Studio"
+        
+        # Creating a shortcut to the application
+        CreateShortCut "$SMPROGRAMS\Apache Directory Studio\Apache Directory Studio.lnk"
"$INSTDIR\Apache Directory Studio.exe" "" "$INSTDIR\Apache Directory Studio.exe" 0
+        
+        # Creating an internet shortcut to the documentation
+        WriteINIStr "$SMPROGRAMS\Apache Directory Studio\Documentation.url" "InternetShortcut"
"URL" "http://directory.apache.org/studio/users-guide.html"
+
+        # Configuring registries for the uninstaller
+        WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "DisplayName" "${Application}
- (remove only)"
+        WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "DisplayIcon" "$INSTDIR\uninstall.exe"
+        WriteRegStr "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "UninstallString" '"$INSTDIR\uninstall.exe"'
+        WriteRegDWORD "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "NoModify" "1"
+        WriteRegDWORD "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}" "NoRepair" "1"
+
+        # Creating the uninstaller
+        WriteUninstaller "$INSTDIR\Uninstall.exe"
+        
+        # Creating a shortcut to the uninstaller
+        CreateShortCut "$SMPROGRAMS\Apache Directory Studio\Uninstall.lnk" "$INSTDIR\Uninstall.exe"
"" "$INSTDIR\Uninstall.exe" 0
+        
+        # Closing uninstall log
+        !insertmacro UNINSTALL.LOG_CLOSE_INSTALL
+    SectionEnd
+    
+    # Uninstaller section
+    Section Uninstall
+        # Removing installed files (one line per directory is mandatory)
+        !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR"
+        !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\configuration"
+        !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\plugins"
+        !insertmacro UNINSTALL.LOG_UNINSTALL "$INSTDIR\features"
+        Delete "$INSTDIR\Uninstall.exe"
+         
+        # Finishing uninstall
+        !insertmacro UNINSTALL.LOG_END_UNINSTALL
+        
+        # Remove shortcuts and folders in the start menu
+        RMDir /r "$SMPROGRAMS\Apache Directory Studio"
+        
+        # Removing registry keys
+        DeleteRegKey "${INSTDIR_REG_ROOT}" "${INSTDIR_REG_KEY}"
+    SectionEnd

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/installer.nsi
------------------------------------------------------------------------------
    svn:executable = *

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/studio-installer.ico
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/studio-installer.ico?rev=952927&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/studio-installer.ico
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/studio-installer.ico
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Added: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/welcome_studio.bmp
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/welcome_studio.bmp?rev=952927&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/welcome_studio.bmp
------------------------------------------------------------------------------
    svn:executable = *

Propchange: directory/studio/branches/studio-improved-build/application/application-win32-exe/src/main/resources/welcome_studio.bmp
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream



Mime
View raw message