Suche // Search:

Posts mit dem Label Installer werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Installer werden angezeigt. Alle Posts anzeigen

14.09.2016

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

Falls Sie mal eine andere Version von Designer installieren wollen oder müssen, werden Sie meist dazu gezwungen sein, die bestehenden Version zu deinstallieren. Hierbei kann es aber zu Problemen kommen.

Der Deinstallationsvorgang bricht eventuell mit folgenden Fehler ab:
„Fehler 1722. Es liegt ein dieses Windows Installer-Paket betreffendes Problem vor. Ein Programm, das im Rahmen der Installation ausgeführt wurde, wurde nicht erfolgreich abgeschlossen. Wenden Sie sich an das Supportpersonal oder den Hersteller des Pakets. Aktion: FileSystemBrowserDLLunregister, Pfad: C:\WINDOWS\SysWOW64\, Befehl: regsvr32.exe /u /s "C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3\FileSystemBrowser.dll"“
„0x8002801c“
Das Problem ist, dass die betreffende DLL aus irgendeinem Grund nicht mehr in der Registry registriert ist und die Deinstallationsroutine somit das Problem hat, etwas löschen zu wollen, das gar nicht da ist. 

Die folgende Lösung sollte für alle Version von LiveCycle Designer und AEM Forms Designer anwendbar sind.


If you want or have to install another version of Designer you propably will be forced to uninstall the current version first. You may encounter some difficulties when doing this.

The deinstallation possibly interrupts with the following error:
„Error 1722. There is a Problem with the Windows Installer Package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.  Action: FileSystemBrowserDLLunregister, Path: C:\WINDOWS\SysWOW64\, Command: regsvr32.exe /u / s "C:\Program files (x86)\Adobe\Adobe LiveCycle Designer ES3\FileSystemBrowser.dll"“
„0x8002801c“

The problem is that the DLL in question is not registered in the registy for some reason. So, the uninstall process now having the problem to delete something that is not there.

The following solution should work for every version of LiveCycle Designer and AEM Forms Designer.






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

Schritt 1 – Öffnen Sie den Explorer und gehen Sie in das Installationsverzeichnis Ihres Designer z.B. "C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3"
//
Step 1 – Open the Explorer and go to the Designers installation directory like "C:\Program Files (x86)\Adobe\Adobe LiveCycle Designer ES3"


Schritt 2 – Kopieren Sie die in der Fehlermeldung genannte Datei z.B. "FileSystemBrowser.dll".
//
Step 2 – Copy the file from error massage like 
"FileSystemBrowser.dll".



Schritt 3 – Wechseln Sie ins Verzeichnis "C:\Windows\SysWOW64" (64 Bit-Windows) oder "C:\Windows\System32" (32 Bit-Windows) und fügen Sie die kopierte DLL hier ein.
//
Step 3 – Switch to the directory "C:\Windows\SysWOW64" (64 Bit-Windows) or "C:\Windows\System32" (32 Bit-Windows) and paste the copied DLL there.


Schritt 4 – Starten Sie die Eingabeaufforderung als Administrator und wechseln Sie in das Verzeichnis "C:\Windows\SysWOW64" (64 Bit-Windows) oder "C:\Windows\System32" (32 Bit-Windows).
//
Step 4 – Run the command prompt as adminstrator and switch to the directory 
"C:\Windows\SysWOW64" (64 Bit-Windows) or "C:\Windows\System32" (32 Bit-Windows). 


Schritt 5 – Geben Sie den Befehl "regsvr32.exe FileSystemBrowser.dll" (ohne Anführungszeichen) ein und drücken Sie Enter, um die fehlende DLL zu registrieren. 
//
Step 5 – Enter the command 
"regsvr32.exe FileSystemBrowser.dll" (without quotes) and press Enter to register the missing DDL.



Schritt 6 – Versuchen Sie die Deinstallation von Designer erneut.
//
Step 6 – Retry to uninstall Designer.


25.09.2012

MailTo Macher Makro V1.0
//
MailTo Maker Macro V1.0

Vor einigen Monaten habe ich ein Makro zum Erstellen von Mail-Skripten in Schaltflächen entworfen.
Das funktionierte eigentlich ganz gut, hatte aber noch Verbesserungspotential.
Zwar konnte man damit die Empfängeradressen auch über SOM-Ausdrücke zur Laufzeit mit Feldwerte befüllen, aber jeweils nur von einem Feld.
Dasselbe war für den Betreff oder die Nachricht selbst gar nicht erst möglich.
Und dann war da noch das Problem, dass die hinzugefügten Skripte nur in der XML Quelle aber nicht im Skripteditor sichtbar waren.

Höchste Zeit für ein Update.
Nach reichlich Kopfzerbrechen kann das Makro nun viel flexibler eingesetzt werden als zuvor.
Mit den neuen Variablen können nun Teile der Empfängeradressen, des Betreff und der Nachricht zur Laufzeit mit Feldwerten aufgefüllt werden.
Auch mehrere Variablen hintereinander sind möglich, ebenso wie Variablen kombiniert mit gewöhnlichem Text.
Das Ergebnis ist nun auch unmittelbar im Skripteditor sichtbar, somit entfällt das nachträgliche Editieren der XML Quelle.


A couple of months ago I designed a macro to create mail scripts for buttons.
It worked but not very well and had room for improvements.
The receivers addresses could indeed be filled at runtime with field values using SOM expression but only on field at once.
And the same wasn't able for the subject nor message.
At least there was that nasty problem that the created scripts were not visible in the script editor but in the XML source.

It's about time for an Update.
After days of brain work the macro now is much more flexible than before.
You can add variables that will be used to fill portions of you receivers addresses, subject or message with field value at runtime.
You can use several variables at once and/or combine them with regular text.
The results now are in the script editor immediately.


Funktionsweise des Makro
//
How the macro works

Schritt 1 – Schaltfläche auswählen und Makro aufrufen
//
Step 1 – Select a button and execute the macro


Schritt 2 – Flex Dialog öffnet sich, ohne weitere Einstellungen
//
Step 2 – Flex Dialogs opens without further settings


Schritt 3 – Werte für Empfängeradresse(n), Betreff und Nachricht eingeben ...
//
Step 3 – Enter values for receiver adress(es), subject or message ...



Schritt 4 – ... oder Variablen zu diesen Felder hinzufügen.
//
Step 4 – ... or add variables to those fields.



Schritt 5 – Ein  Dialog informiert, wo das neue Skript hinzugefügt wurde.
//
Step 5 – A dialogs informs you where the new script was added to.





Schritt 6 – Das neue Skript ist im Skripteditor in click Event zu sehen.
//
Step 6 – The new script is visible under the click event in the script editor.





Aktualisierungen in Version 1.0.4
//
Updates in Version 1.0.4
  1. Anführungszeichen oder Apostrophe im Betreff und Nachricht werden nun automatisch escaped, damit die erzeugten Strings durch diese Zeichen nicht unterbrochen werden.
    //
    Quotation marks and apostrophe in the subject and message are now automatically escaped, so the generated string won't be interrupted by those characters.



MailTo Macher-Makro V1.0.4
//
MailTo Maker Macro V1.0.4
https://files.acrobat.com/a/preview/b01040ae-f0cb-4328-8ced-9e33928ee89f

16.07.2012

Lorem Ipsum Generator Makro
//
Lorem Ipsum Generator Macro

Formulardesign kann ganz schön laaaangatmig werden. Wenn man z.B. nur ein paar Layoutideen testen will, dann hält das Befüllen der Felder mit Platzhaltertexten eigentlich immer nur auf.
In anderen Programmen wie z.B. InDesign gibt es die Möglichkeit Platzhaltertexte (auch Blindtexte genannt) einzufügen, aber im Designer bislang leider nicht.
Bislang aber nur, denn mit diesem Makro kann man sich die Arbeit etwas erleichtern.
Einfach ein Text, Textfeld, Listenfeld oder eine Dropdownliste markieren, Makro aufrufen und die gewünschten Platzhaltertexte einstellen.
Ein finaler Klick auf OK macht dann den Rest. Wirklich ganz einfach, oder?!


Forms design can become sooo tedious. For example you only want to check out a few layout ideas, but the filling of fields with placeholder texts alsways suspends your work.
Other applications such as InDesign give you an opportunity to add placeholder texts (also know as dummy texts), but so far Designer does not.
So far, because with this macro you're now able to simplify your work.
Just select a text, text field, list field or dropdown list, start the macro und edit the desired placeholder texts.
A final click on OK, that's it. Really simply, isn't it?!



Dialog des Makros
//
Dialog of the macro




LoremIpsum Generator V1.0
https://cloud.acrobat.com/file/3d3a962c-53c1-41b9-bd3e-ae3166a2224e

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