Suche // Search:

Posts mit dem Label 3rd Party Tools werden angezeigt. Alle Posts anzeigen
Posts mit dem Label 3rd Party Tools werden angezeigt. Alle Posts anzeigen

03.02.2014

Der Selbermachen-Bugfix 3
//
Do-It-Yourself bugfix 3

Neulich stieß ich auch das Problem, da ich im Designer keine Bilder mehr durch Doppelklicken eines Bildfeldes hinzufügen konnte.
Alles was ich zu Gesicht bekam, war die barsche Meldung: "Auf Ihrem System wurde kein Bilddatei-Browser gefunden.".

In den Optionen des Designers offenbarte sich das Problem, denn für die Dateiverwaltung war kein Dateibrowser vorhanden und auch nicht auswählbar.
Ursache ist das Fehlen eines Registrierungseintrages für den Dateibrowser den Designer mitbringt.

Abhilfe schaft hier ein kurzer Ausflug in die Windows Kommandozeile.


I recently got a problem in Designer where I wasn't able to add images by double clicking an image field.
All a got was a gruff message saying "Error: Unable to locate an image file browser on your system".

In Designers options dialog showed the dilemma. There wasn't a default file browser available and also not selectable.
The reason is a missing registry entry for the file browser that comes with Designer.

You can fix this with a short excursion into the Windows command line.


Bug – Fehlender Bilddatei-Browser
//
Bug – Missing image file browser


Fehlermeldung - Fehlender Bilddatei-Browser
//
Error - Missing image file browser
Fehlender Dateibrowser im Optionen-Dialog
//
Missing file browser in the options dialog

Selbermachen-Bugfix – Schritt für Schritt
//
Do-It-Yourself Bugfix – Step by Step


Schritt 1 – Öffnen Sie die Kommandozeile (cmd) mit Administrator-Rechten
//
Step 1 – Open the command line (cmd) with admin rights


Schritt 2 – Wechseln Sie mit "cd" das Installationsverzeichnis Ihres Designer z.B. "cd C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3"
//
Step 2 – Use "cd" to go to the Designers installation directory like "cd C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3"


Schritt 3 – Registrieren Sie den Dateibrowser mit dem Befehl "regsvr32.exe FileSystemBrowser.dll" neu.
//
Step 3 – Register the file browser with the command "regsvr32.exe FileSystemBrowser.dll".
Glückwunsch - Sie haben den Dateibrowser erfolgreich registriert
//
Congratulations - You successfully registered the file browser

Schritt 4 – Starten Sie Designer neu und prüfen Sie, ob der Dateibrowser unter "Extras" > "Optionen" wieder verfügbar ist.
//
Step 4 – Restart Designer and under "Tools" > "Options" check if the file browser is available again.



15.04.2013

Der Selbermachen-Bugfix 2
//
Do-It-Yourself bugfix 2

LiveCycle Designer ES3, Designer ES4 als auch AEM Forms Designer 6.1 haben in der deutschen Version einen kleinen aber nervigen Bug im Öffnen-Dialog.
Der Öffnen-Dialog zeigt, solange nach Adobe (LiveCycle) Designer-Dateien (*.pdf, *.xdp) gefiltert wird, keinerlei Dateien an.
Leider ist dieser Filter die Standardauswahl, weshalb man immer erst mühsam klicken muss, um seine Dateien zu sehen.

Leerer Öffnen-Dialog // Empty open dialog

Aber, dieser Bug lässt sich leicht in 5 Minuten selbst beheben.
Alles was Sie dafür brauchen ist die Freeware Ressource Hacker.

Hinweis:
Der Bug wird in Designer ES4 mittlerweile durch das Installieren von Servicepack 1 behoben!

1. Öffnen Sie mit Ressource Hacker die Datei DesignerResources.dll aus dem Programm-Ordner Ihres Designer (z.B: C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3\DE oder C:\Program Files (x86)\Adobe\Adobe Experience Manager Forms Designer\DE).

2. Navigieren Sie zum Baum StringTable und dann zur Unterordner 93 und suchen Sie den String mit der Nummer 1484.

3. Ersetzen Sie jeweils das Komma (,) hinter *.pdf durch ein Semikolon (;).


4. Klicken Sie anschließend auf Compile Script und speichern Sie ihre neue DLL-Datei irgendwo ab.


5. Ersetzen Sie die Original-DLL mit ihrer neu erstellten Version und starten Sie Designer neu.
Der Öffnen-Dialog zeigt nun wieder problemlos Dateien an.
Fehlerbereinigter Öffnen-Dialog // Fixed open dialog


This solution is only applicable for the german version of LiveCycle Designer ES3/ES4 and AEM Forms Designer 6.1.
The english version don't has to be fixed, that's why there is no description here.

15.02.2012

JSLint Tester V2.2

Heute gibt's ein "neues" Makro für Designer ES2 und ADEP Designer.
Naja, so neu ist es eigentlich nicht, wurde der JSLint Checker doch schon vor einiger Zeit veröffentlicht.
Es ist auch nicht von direkt mir, sondern wurde von John Brinkman entwickelt.
Der JSLint Checker basiert auf den JSLint-Skript von Douglas Crockford und ist DAS! Tool, um seine Formularskripte auf Herz und Nieren zu testen und ggf. zu korrigieren.

Eine Warnung vorweg mit den Worten des Erfinders: "JSLint wird Ihre Gefühle verletzen".
Das stimmt und das ist gut so, schließlich kann man nur aus seinen Fehlern lernen, oder?!

Leider gibt's das JSLint Checker-Makro bislang nur auf Englisch, bislang.
Tada, der neue JSLint Tester in Deutsch!


Dialog des Makro - Einstellungen für die Überprüfung der Formularskripte festlegen


Bericht des Makro - Gefundene Fehler werden rot dargestellt


Hello, todays macro is only interesting for German-speaking developers.
It's a germanized version of the JSLint checker by John Brinkman.
The original english version of this marco is available at John's Formfeed blog.




Aktualisierungen in Version 2.1
  1. Unterstützung von deutschen Umlauten (äöüÄÖÜ) und dem Eszett (ß) für Bezeichner hinzugefügt, somit bricht das Makro die Überprüfung von Skripten, die diese Zeichen enthalten, nicht mehr ab.
  2. Fehlermeldungen im Bericht überarbeitet


Aktualisierungen in Version 2.2
  1. Bericht stellt FormCalc-Skripte ausgegraut dar, da diese vom Makro nicht auf Fehler überprüft werden können.
  2. Fehlerpositionen im Bericht werden nun mit einem Dreieck anstelle eines Zirkumflex angezeigt, um das Finden der Fehlerposition zu erleichtern.
  3. Das Makro meldet alle Aktionen nun auch im Protokollfenster von Designer.
  4. Das Makro prüft nur die Objekte die zuvor in der Design-Ansicht ausgewählt wurden bzw. das gesamte Formular wenn kein Objekt ausgewählt wurde.
  5. Das Makro kann nun einfach per Setup installiert/deinstalliert werden.
    Der Setup sucht nach bestehenden Installation von Designer (Standalone / mit Acrobat oder Workbench) und erstellt automatisch den Ordner für das Makro im Programmverzeichnis.


JSLint Tester Makro (Version 2.2)
https://cloud.acrobat.com/file/17fb604b-01d9-415c-8730-4e793917ae95

23.11.2011

Dialog für Anweisungsenden modifizieren
//
Modify statement completion dialog

Der Skript-Editor in Designer bietet eine nützliche Funktion zum Anzeigen eines Dialogs mit möglichen Anweisungsenden während der Eingabe von Skripten inklusive der Beschreibung der Parameter.
Toll, aber obwohl die ganze Welt mittlerweile mit Monitoren mit riesigen Auflösungen benutzt, ist der Dialog für diese Funktionen seit Ewigkeiten winzig klein.
Bei Anweisungen wie z.B. "resolveNodes" ist nur ein kleiner Teil der Beschreibung zu lesen und man muss umständlich in dem Dialog scrollen.
Irgendwie mehr hinderlich als nützlich.

Es ist an der Zeit, das zu ändern.
Die folgenden Schritten zeigen, wie man den Dialog mittels der Freeware ResHacker anpassen kann.


Die Modifikation muss in der DesignerResources.dll erfolgen, wenn Ihr Designer eine andere Sprache als Englisch verwendet.
Diese finden Sie im Designer Programmordner z.B. unter C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE\DesignerResources.dll.

Wenn Ihr Designer nur in englischer Sprache vorliegt, dann müssen Sie stattdessen die Datei FormDesigner.exe verändern!!!
Diese finden Sie z.B. unter C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\FormDesigner.exe.


Diese Anleitung gilt für die DesignerResources.dll, aber die Vorgehensweise für die FormDesigner.exe ist quasi identisch.

The script editor in Designer has a nice functionality to display a dialog for statement completions while typing scripts including a description of the parameters.
Great, but although the whole world already uses monitors with huge resolutions this dialog is still very tiny.
With statements such as "resolveNodes" you only can see a small portion of the description and laborious have to scroll manually in the dialog.
More hindering that useful.

It's time to change it.
The followings steps explain how to change the dialog with the freeware ResHacker.


The modification has to be done in the DesignerResources.dll, when your Designer runs in another language than English.
You can find the file in the Designer program folder such as C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE\DesignerResources.dll.

If you Designer is only in englisch, then you have to modifiy the FormDesigner.exe instead!!!
It located under C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\FormDesigner.exe.

This instruction is related to the DesignerResources.dll, but the procedure for the FormDesigner.exe quasi is identically.




Zu kleiner Dialog für Anweisungsenden im Skript-Editor
//
Too small dialog for statement completion in script editor





Modifikation der DesignerResources.dll - Schritt für Schritt (Auf Ihre eigene Gefahr hin!!!)
//
Modification of DesignerResources.dll - Step by step (At your own risk!!!)



1. Öffnen Sie die DesignerResources.dll mit ResHacker und suchen sie des Dialog 281 im Dialog-Baum. Eine Vorschau des Dialogs wird automatisch angezeigt.
//
Open the DesignerResources.dll in ResHacker and look for dialog 281 in the dialog tree. A preview of the dialog is shown automatically.



2. Markieren Sie die Dialogvorschau und drücken Sie Strg+E, um den Dialog Editor zu öffnen.
//
Select the dialog preview and press crtl+E to open the dialog editor.



3. Ändern Sie die Werte für Breite (144 > 400) und Höhe (137 > 300) und drücken Sie OK.
//
Change the values for width (144 > 400) and height (137 > 300) an press OK.


4. Der Dialog ist nun vergrößert, müssen noch die beiden Felder angepasst werden. 
//
The dialog now is resized. Now the both fields needs to be adjusted. 



5. Markieren Sie das Listenfeld (weiß) und drücken Sie Strg+O, um den Control Editor zu öffnen.
//
Select the listbox (white) and press ctrl+O to open the control editor.



6. Ändern Sie die Werte für Breite (144 > 400) und Höhe (85 > 150) und drücken Sie OK.
//
Change the values for width (144 > 400) and height (85 > 150) an press OK.




7. Das Listenfeld ist nun auch angepasst.
//
Now the listbox is adjusted too.



8. Markieren Sie das Textfeld (grau) und drücken Sie wieder Strg+O.
//
Select the textfield (gray) and press ctrl+O again.


9. Passen Sie die Werte für Oben (86 > 151), Breite (144 > 400) und Höhe (85 > 149) an und drücken Sie OK.
//
Adjust the values for top (86 > 161), width (144 > 400) and height (85 > 149) an press OK.



10. Die Arbeit am Dialog ist damit abgeschlossen.
//
The work at the dialog is finished.


11. Um die Änderungen in die DLL zu schreiben, klicken Sie nun aus Skript kompilieren.
//
To apply the changes to the DLL press compile script.




12. Speichern Sie die DLL als DesignerResources.dll an einem beliebigen Ort.
//
Save the DLL as DesignerResources.dll in any location.





13. Ersetzen Sie die originale DLL (Backup machen!!!) durch Ihre neue im Designer-Programmordner.
//
Replace the original DLL (make a backup!!!) with your new one in the Designer programm folder.




14. Starten Sie Designer und testen Sie den Skript-Editor. Der Dialog ist nun auch für umfangreiche Beschreibungen ausreichend dimensioniert.
//
Start Designer and check the script editor. The dialog now has enough space even for large descriptions.



25.10.2011

Der Selbermachen-Bugfix
//
Do-It-Yourself bugfix

Heute mal was ganz aus der Reihe.
Seit Ewigkeiten schon nervt mich diese Meldung in der JavaScript-Konsole bei jedem Öffnen meiner Formulare in Acrobat / Reader, die ich mit Designer erstellt habe:

missing ; before statement
8:Document-Level:!ADBE::0100_VersChkStrings

Auch der neue ADEP Designer verursacht dieses Problem ... arrg.

Eine Recherche mit dem PDFStreamDumper brachte mich recht schnell auf die Ursache.
Designer bettet beim Speichern als PDF-Datei immer einige Dokument-Level-Skripte in JavaScript mit ein, die beim Öffnen der Formulare ausgeführt werden.
Ist zum Beispiel die Zielversion des Formulars höher als die des PDF-Viewers, soll eine entsprechende Meldung aufploppen, um den Benutzer zu informieren.
Das klappt wunderbar, nur nicht mit dem deutschen Designer, da dort einige Strings in dem JavaScript-Skripten falsch geschrieben sind und dadurch beim Öffnen des Formulars scheitern.
Wenn Sie die englische Version des Designer haben, kennen Sie das Problem zum Glück nicht.

Nun kann man theoretisch mit dem PDFStreamDumper den Fehler in den Formularen ausmerzen, aber besser wäre es doch, wenn das Problem gar nicht mehr vorhanden wäre.
Nach langer, langer Suche habe ich die Quelle allen Übels dafür ausgemacht, die Resources.dll im Ordner DE innerhalb des Designer-Programmordners.
Diese DLL können Sie mit dem Freeware-Tool ResHacker öffnen und dann entsprechend selbst reparieren.



Today something totally off-topic.
For eterneties I get bugged by the following exception in the JavaScript console when opening my forms in Acrobat / Reader that I created with Designer:

missing ; before statement
8:Document-Level:!ADBE::0100_VersChkStrings

The new ADEP Designer produces this problem too .... arrg.

An investigation with the PDFStreamDumper showed me the reason for this.
Designer embeds a few document level scripts in JavaScripts into the forms when saving as PDF.
Those scripts will be executed by the PDF-Viewer when opening the forms.
An example: Is the target version of the form higher than the version of the PDF viewer an appropriate message is displayed.
This works like a charm, excepting in the german Designer, because those JavaScripts contain a few faulty strings and fail.
If you use the englisch Designer, you don't have that problem. Lucky you!

Ok, you theoretically can fix that in the forms using the PDFStreamDumper but it will be much better if the problem won't occur anymore.
After a long, very long search I found the root of all evil in the Resources.dll in the folder DE under Designer's program folder.
You can fix this DLL by yourself using the freeware tool ResHacker.

Ausnahme in JavaScript-Konsole bei Formularen erstellt mit deutschem Designer
//
Exception in JavaScript console with forms created with german Designer


Die Wurzel allen Übels – Fehlerhafte Version Check Strings
//
The root of all evil – Faulty Version Check Strings



Der Selbermachen-Bugfix Schritt für Schritt (Auf Ihre eigene Gefahr hin!!!)
//
The Do-It-Yourself Bugfix step by step (At your own risk!!!)

1. Öffnen Sie die Resources.dll mit ResHacker und suchen sie die Strings mit der ID 12626 und 12627 innerhalb der String Table.
//
Open the Resources.dll in ResHacker and look for the two strings with the ID 12626 and 12627 within the string table.



2. Suchen Sie in beiden Strings die Zeichenfolge \"OK\" ...
//
Look for the character sequence \"OK\" with the srings ...



3. ... und entfernen sie die escapten Anführungszeichen \" vor und hinter dem OK und bestätigen Sie mit "Compile Script".
// 
... and replace the escaped quotes \" before und after the OK and confirm the changes with "Compile Scripts".



4. Speichern Sie die Datei.
//
Save the file.



5. Ersetzen Sie die alte Resources.dll unter z.B. C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE mit Ihrer neuen und starten Sie Designer neu.
//
Replace the old Resources.dll under i.e. C:\Program Files (x86)\Adobe Digital Enterprise Platform\Designer 10.0\DE with your new one and restart Designer.

12.07.2010

Eigenen Installer für Formulare und Folder Level Skripte erstellen
//
Create own installer for forms and folder level scripts


Sicherheit ist wichtig, bringt aber auch Probleme mit sich. Wenn Sie mit Formularen und Skripten arbeiten, merken Sie schnell, dass sie bei Acrobat oder Reader die interessantesten Funktionen meist nur aus vertrauenswürdigen Umgebungen heraus ausführen dürfen.
Dafür müssen Sie die Skripte zum Teil in sogenannte Folder Level Scripts auslagern, die dann auf dem jeweiligen PC erst mal installiert werden müssen.
Das klappt in eigenem Büro meist noch ohne großen Aufwand.
Aber was, wenn sie ihre Dateien an Kunden verteilen, die von sowas keine Ahnung haben oder denen das zu aufwendig ist.

Ganz klar, bauen sie einen Setup, der das alles erledigt.
Dafür empfiehlt sich zum Beispiel die Freeware Inno Setup.
Durch diverse Zusatzprogramme ist es ein mächtiges Tool, mit dem sie sehr umfangreiche Installer mit professionellen Touch erstellen können.

Diese Methode bietet einigen Vorteile.
So können Sie beliebig viele Dateien unterschiedlichsten Typs mit nur einer Setup-Datei verteilen, die Benutzer brauchen lediglich den Setup einmal ausführen, um alles an seinem Platz zu haben und über die Deinstallationsroutine können sie auch alles auf einmal wieder entfernen.

Dieses Beispiel zeigt ihnen einen Installer, der prüft, ob ein Adobe Reader oder Acrobat installiert ist, dann den Pfad zu deren JavaScript-Ordner erstellt und ein Folder Level Script sowie einige XFA-Formulare installiert.
Der Installer ist zudem zweisprachig ausgelegt (deutsch und englisch) und mit eigenem Layout versehen.
Und das alles braucht weniger als 150 Zeilen Code.


Security is neccessary but causes other problems. Ic you work with forms and scripts you will learn that Acrobat or Reader allow the usage of interessting functions such as "saveAs" only from trusted enviromments.
Therefore you have to writhe part of your scripts into so called folder level scripts which have to be installed on each induvidual computer first.
In a office this maybe not the problem.
But what if your distribute your forms to customers who don't know how to install those files or don't want?

You will have to build a setup that will do this automatically.
Therefore the freeware Inno Setup is advisable.
With a lot of extensions available it's a powerful tool to create comprehensive installers with a professional touch.

This method offers several advantages.
You can distribute any number of files with different file types at once with only one setup-file.
Also, the users only need to execute the setup once to have everything in the right place and with the uninstall routine they also can remove all at once.

This example shows an installer that checks if there is an Adobe Reader or Acrobat installed.
If so it generates the path to the JavaScrips folder and installs a Folder Level Script and some XFA forms.
Also, the installer is multiligual (german and english) and has its own layout.
All done with less that 150 lines of code.

LCB Sample Installer:

1: Sprache auswählen // Select language










2: Installer prüft ob Acrobat/Reader installiert ist // Installer checks if Acrobat/Reader is installed







3: Installationsassistent startet // Install wizard runs















4: Aufgaben des Setups auswählen // Select task for the setup















5: Installation wird durchgeführt // Installation proceeds















6: Setup abschließen // Complete setup















7: Installierte Dateien im Programme-Menü // Installed files in the program menu


















8: Installiertes Folder Level Script // Installed folder level script















Inno Setup Code:
; LCB Installer Script
  #define MyAppName "LCB"
  #define MyAppVerName "1.0"


[Setup]
  AppId={{536B756A-54AA-4C37-8ADA-0C942B8327E7}
  AppName={#MyAppName}
  AppVerName={#MyAppName} {#MyAppVerName}
  VersionInfoVersion={#MyAppVerName}
  AppPublisher=Your Name Here
  AppComments=
  AppPublisherURL=
  AppSupportURL=
  AppUpdatesURL=
  AppCopyright=
  DefaultDirName={pf}\{#MyAppName}
  DisableDirPage=yes
  DefaultGroupName={#MyAppName}
  DisableProgramGroupPage=yes
  InfoAfterFile=SourceFiles\LCB_ReadMe.rtf
  OutputDir=FinalFiles
  OutputBaseFilename={#MyAppName}_Sample_Installer_{#MyAppVerName}
  Compression=lzma
  SolidCompression=yes
  SetupIconFile=SourceFiles\LCB_Icon.ico
  UninstallDisplayIcon=SourceFiles\LCB_Uninstall_Icon.ico
  UninstallDisplayName={#MyAppName} {#MyAppVerName}
  WizardImageFile=SourceFiles\LCB_Wizard_164x314.bmp
  WizardSmallImageFile=SourceFiles\LCB_Wizard_55x55.bmp


[Languages]
  Name: en; MessagesFile: compiler:Default.isl
  Name: de; MessagesFile: compiler:Languages\German.isl


[Files]
  Source: SourceFiles\ISSkin.dll; DestDir: {app}; Flags: dontcopy
  Source: SourceFiles\Styles\Office2007.cjstyles; DestDir: {tmp}; Flags: dontcopy
  Source: SourceFiles\LCB_SaveAs.js; DestDir: {code:ReturnPath}; Flags: ignoreversion
  Source: SourceFiles\LCB\*; DestDir: {app}\LCB\; Flags: ignoreversion recursesubdirs createallsubdirs
  Source: SourceFiles\LCB_ReadMe.rtf; DestDir: {app}; Flags: ignoreversion
  Source: SourceFiles\LCB_Licence.rtf; DestDir: {app}; Flags: ignoreversion
  Source: SourceFiles\LCB_Icon.ico; DestDir: {app}; Flags: ignoreversion
  Source: SourceFiles\LCB_Uninstall_Icon.ico; DestDir: {app}; Flags: ignoreversion


[Icons]
  Name: {group}\LCB SaveAs Sample; Filename: {app}\LCB\LCB_SaveAs.pdf; WorkingDir: {app}; IconFilename: {app}\LCB_Icon.ico
  Name: {group}\LCB Control View Sample; Filename: {app}\LCB\LCB_Control_View.pdf; WorkingDir: {app}; IconFilename: {app}\LCB_Icon.ico
  Name: {group}\LCB Stacked Bar Chart Sample; Filename: {app}\LCB\LCB_FormCalc_Charts_StackedBarChart.pdf; WorkingDir: {app}; IconFilename: {app}\LCB_Icon.ico
  Name: {group}\Uninstall LCB; Filename: {uninstallexe}; IconFilename: {app}\LCB_Icon.ico
  Name: {userdesktop}\LCB; Filename: {app}\LCB\LCB_SaveAs.pdf; WorkingDir: {app}; Tasks: desktopicon1; IconFilename: {app}\LCB_Icon.ico; Comment: Open LCB_SaveAs Sample
  Name: {userdesktop}\LCB; Filename: {app}\LCB\LCB_Control_View.pdf; WorkingDir: {app}; Tasks: desktopicon2; IconFilename: {app}\LCB_Icon.ico; Comment: Open Control View Sample
  Name: {userdesktop}\LCB; Filename: {app}\LCB\LCB_FormCalc_Charts_StackedBarChart.pdf; WorkingDir: {app}; Tasks: desktopicon3; IconFilename: {app}\LCB_Icon.ico; Comment: Open Stacked Bar Chart Sample


[Tasks]
  Name: desktopicon1; Description: Create shortcut on Desktop for SaveAs Sample; Flags: unchecked
  Name: desktopicon2; Description: Create shortcut on Desktop for Control View Sample; Flags: unchecked
  Name: desktopicon3; Description: Create shortcut on Desktop for Stacked Bar Chart Sample; Flags: unchecked


[Run]
  Filename: {app}\LCB\LCB_SaveAs.pdf; Verb: open; Description: Open LCB SaveAs Sample; Flags: postinstall shellexec unchecked
  Filename: {app}\LCB\LCB_Control_View.pdf; Verb: open; Description: Open LCB Control View Sample; Flags: postinstall shellexec unchecked
  Filename: {app}\LCB\LCB_FormCalc_Charts_StackedBarChart.pdf; Verb: open; Description: Open LCB Stacked Bar Chart Sample; Flags: postinstall shellexec unchecked


[CustomMessages]
  de.msgbox_1 =Setup hat einen geeigneten PDF-Viewer (Adobe Reader/Acrobat) auf Ihren Computer gefunden und kann nun fortgesetzt werden.%n
  de.msgbox_2 =%nGefundener PDF-Viewer: %n
  en.msgbox_1 =Setup found PDF-Viewer (Adobe Reader/Acrobat) on your computer and can be continued now.%n
  en.msgbox_2 =%nFound PDF-Viewer: %n
  de.msgbox_Error_1 =Fehler aufgetreten:%nEs wurde kein Adobe Reader bzw. Adobe Acrobat auf Ihrem Computer gefunden.%n%n
  de.msgbox_Error_2 =Sie müssen mindestens einen Adobe Reader 8.1 oder Adobe Acrobat 8 installiert haben,%num diesen Installer benutzen zu können.%n%n
  de.msgbox_Error_3 =Setup wird nun beendet.
  en.msgbox_Error_1 =An error occured:%nNo Adobe Reader or Adobe Acrobat could be found on your computer.%n%n
  en.msgbox_Error_2 =Install at least Adobe Reader 8.1 or Adobe Acrobat 8 first,%nbefore you use this Installer.%n%n
  en.msgbox_Error_3 =Setup will be aborted now.


[Code]
  procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
  external 'LoadSkin@files:isskin.dll stdcall';
  procedure UnloadSkin();
  external 'UnloadSkin@files:isskin.dll stdcall';
  function ShowWindow(hWnd: Integer; uType: Integer): Integer;
  external 'ShowWindow@user32.dll stdcall';
  function InitializeSetup(): Boolean;
  begin
   ExtractTemporaryFile('Office2007.cjstyles');
   LoadSkin(ExpandConstant('{tmp}\Office2007.cjstyles'), 'NormalSilver.ini');
   Result := True;
  end;


  procedure DeinitializeSetup();
  begin
   ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
   UnloadSkin();
  end;


  function CheckAdobeViewer(): String;
    var
    AdobeReaderVersion,AdobeAcrobatVersion,Version :  String;
    begin
    Result:='no';


  if  (RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe', '', AdobeReaderVersion))
    then
      begin
        GetVersionNumbersString( AdobeReaderVersion , Version);
        Result := 'Adobe Reader Version: ' + Version;
      end
  else
    if (RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe', '', AdobeAcrobatVersion))
      then
        begin
          GetVersionNumbersString( AdobeAcrobatVersion ,Version);
          Result := 'Adobe Acrobat Version: ' + Version;
        end
  else
    begin
      MsgBox(ExpandConstant('{cm:msgbox_Error_1}') + ExpandConstant('{cm:msgbox_Error_2}') + ExpandConstant('{cm:msgbox_Error_3}'),MBError,mb_ok);
        begin
          Abort;
        end
    end
  end;


  function CheckAdobePath(): String;
    var
    FilePath: String;
    begin
      FilePath := '';
      if (RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe','', FilePath))
        then
          begin
            result := ExtractFileDir(FilePath) + '\JavaScripts\';
          end


  if (RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Acrobat.exe','', FilePath))
    then
      begin
        result := ExtractFileDir(FilePath) + '\JavaScripts\';
      end
  end;


  function  ReturnPath (Get:String):String;
    begin
      result := CheckAdobePath;
    end;


  procedure InitializeWizard();
  begin MsgBox(ExpandConstant('{cm:msgbox_1}') + ExpandConstant('{cm:msgbox_2}') + CheckAdobeViewer,MBinformation,mb_ok);
  end;



Dieses Script und auch einen fertigen Setup können Sie hier herunterladen.
Die Dateiendung des Setups müssen sie nach dem Download in *.EXE ändern!
Läuft unter Windows XP / Vista / 7 - 32Bit & 64Bit.

You can download this script and a working setup here.
After downloading the setup you need to change the file extension to *.EXE!
Runs under Windows XP / Vista / 7 - 32Bit & 64Bit.


Bespiel Inno Setup *.iss-Datei // Example Inno Setup *.iss file:

Beispiel Setup.exe // Example Setup.exe




Inno Setup und viele Erweierungen bekommen Sie unter folgenden URLs:


You can get Inno Setup and a lot of extenstion under the following URLs:


Inno Setup Download:
http://www.jrsoftware.org/isinfo.php

Inno Setup Erweiterungen // Inno Setup Extensions (3rd Party):
http://www.jrsoftware.org/is3rdparty.php