PDA

View Full Version : Paketierung AutoCAD Architecture 2011


Jens Ertel
August 8th, 2011, 16:28
Hallo Community,

ich erstelle derzeit ein Paket für AutoCAD Architecture 2011 welches per MSI installiert werden soll.

Leider gibt es ein Problem beim installieren der Werkzeugleiste, was über die Custom Action „cp_Install.AF2EDBF1_A36C_4086_BBEA_5B33127A6B42“ passiert. Hierbei wird eine DLL mit der Funktion „ContentPackInstall“ aufgerufen, welche die notwendigen Dateien in das Userprofil kopiert. Dies muss daher für jeden User ausgeführt werden, was aber nur passiert beim Installationsuser.

Der Hauptteil der Anwendung wird Maschinenbezogen per Service vor installiert. Sobald sich der User anmeldet wird ein Repair (msiexec.exe /fup) des MSI durchgeführt um die Usersettings nachzuziehen.

!Main Product
MSIInstallProduct('.\Extern$\Msidata\ACA\ACA-Firma-for-GPO.msi','NORMAL',MsiInstMach)
|.\Extern$\Msidata\ACA-Firma.mst
params:
EndProc/TS
ExecuteEx('msiexec.exe /fup {5783F2D7-9004-0407-0102-0060B0CE6BBA} /qn','_RESULTCODE','30')/?/TU

!Language Pack German
MSIInstallProduct('.\Extern$\Msidata\ACALP\AcadLP. msi','NORMAL',MsiInstMach)
|.\Extern$\Msidata\ACA-Firma.mst
params:
EndProc/TS
ExecuteEx('msiexec.exe /fup {5783F2D7-9004-0407-1102-0060B0CE6BBA} /qn','_RESULTCODE','30')/?/TU


Leider funktioniert genau diese Reparatur nicht korrekt. Die Custom Action wird zwar an gestartet, führt dennoch keine Aktion aus. Sollte ich hingegen nicht die Reperatur starten sondern der User startet das Advertised Shortcut, wird die DLL geladen und meine Probleme sind gelöst. Dies ist aber nicht gewünscht. Sollte der User den Startmenülink anklicken soll die Anwendung bereits fertig konfiguriert sein.

Das Problem besteht sowohl bei Administratoren als auch bei Standuser.

So sieht ein korrektes MSI Logfile für die Custom Action aus:
MSI (s) (60:20) [15:36:08:355]: Executing op: ActionStart(Name=cp_Install.AF2EDBF1_A36C_4086_BBE A_5B33127A6B42,Description=Inhalt wird installiert...,Template=Datei: [1]
Verzeichnis: [2])
MSI (s) (60:20) [15:36:08:527]: Executing op: CustomActionSchedule(Action=cp_Install.AF2EDBF1_A3 6C_4086_BBEA_5B33127A6B42,ActionType=1025,Source=B inaryData,Target=ContentPackInstall,CustomActionDa ta=00000000000000000000000110010000;C:\Program Files\Autodesk\AutoCAD Architecture 2011\ContentPacks\cp_.xml)
MSI (s) (60:44) [15:36:08:590]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI37E8.tmp, Entrypoint: ContentPackInstall
cp_Install: Processing cabinet \\SERVER\ni$\Work\Master\Projects\263047\Extern$\M sidata\Content\ADT_MetricDACH\templates.cab, 35 files.
...
...
MSI (s) (60:20) [15:46:03:269]: Executing op: ActionStart(Name=DuplicateFiles,Description=Es werden doppelte Dateien erstellt...,Template=Datei: [1]
Verzeichnis: [9]
Größe: [6])

So sieht es aber aus:
MSI (s) (60:80) [15:46:20:548]: Executing op: ActionStart(Name=cp_Install.AF2EDBF1_A36C_4086_BBE A_5B33127A6B42,Description=Inhalt wird installiert...,Template=Datei: [1]
Verzeichnis: [2])
MSI (s) (60:80) [15:46:20:548]: Executing op: CustomActionSchedule(Action=cp_Install.AF2EDBF1_A3 6C_4086_BBEA_5B33127A6B42,ActionType=1025,Source=B inaryData,Target=ContentPackInstall,CustomActionDa ta=00000000000000000000010100010001;C:\Program Files\Autodesk\AutoCAD Architecture 2011\ContentPacks\cp_.xml)
MSI (s) (60:A8) [15:46:20:579]: Invoking remote custom action. DLL: C:\Windows\Installer\MSI8AE0.tmp, Entrypoint: ContentPackInstall
MSI (s) (60:80) [15:46:20:783]: Executing op: ActionStart(Name=CreateShortcuts,Description=Es werden Verknüpfungen erstellt...,Template=Kurzbefehl: [1])

Die Custom Action wird daher ausgeführt, lediglich passiert nichts…. Nach einem Blick in das MSI per InstallShield ist auch nur eine Condition „REMOVE“ <> „ALL“ gesetzt. Bei einem Repair wird es daher ausgeführt.

1. Hat jemand das Produkt bereits installiert und das ebenfalls per MSI? Ähnliche Probleme?
2. Gibt es Möglichkeiten dieselbe Action des Advertised Shortcut per Commandline nachzustellen? Ich konnte nach dem wälzen sämtlicher MSI Unterlagen nichts finden.

Schöne Grüße

Jens

Alexander Dechent
August 9th, 2011, 07:08
Hi Jens,

ist ja ein interessantes Problem. Habe das MSI nicht zur Hand und bisher habe ich es immer per Auto-Repair über den Adv.-Shortcut gemacht.

Hast du schonmal "/fu" oder sogar nur "/f" versucht. Wenns dann funktioniert würde ich sagen dass die CA nicht ganz richtig eingestellt ist (zumindest wenn sie nur User-Spezifische Actions macht). Ich würde dann aber die cmdline benutzen die funktioniert (auch wenns dann ein bisschen länger dauert als mit /fup).

Lass mal hören obs was gebracht hat.

Grüße,
Alex

Jens Ertel
August 9th, 2011, 09:12
Hallo Alex,

eine Installation mit /fu hat keine Auswirkungen gebracht (/fu schreibt lediglich die Registry Settings für den User neu).

Mit /f sieht das ganze etwas anderst aus. Autocad Architecture 2011 selbst darf nicht mit /f ausgeführt werden. Sollte ich das tun, startet meine Anwendung nicht mehr :mad:. Es kommt dann zu einem Sequenz Error.

Beim ACAD-LP sieht es aber etwas anders aus. Hier wird auch die Custom Action nun angestartet, doch es kommt zu einem 1603 Fehler. Leider ist das Logfile hier nicht aussagefähig. Das Problem lässt sich unter einem Administrator ebenfalls nachstellen.

MSI (s) (58:BC) [09:34:45:303]: Executing op: ActionStart(Name=cp_Install.AF2EDBF1_A36C_4086_BBE A_5B33127A6B42,Description=Inhalt wird installiert...,Template=Datei: [1]
Verzeichnis: [2])
MSI (s) (58:BC) [09:34:45:303]: Executing op: CustomActionSchedule(Action=cp_Install.AF2EDBF1_A3 6C_4086_BBEA_5B33127A6B42,ActionType=1025,Source=B inaryData,Target=ContentPackInstall,CustomActionDa ta=00000000000000000000000100010101;C:\Program Files\Autodesk\AutoCAD Architecture 2011\ContentPacks\cp_.xml)
MSI (s) (58:7C) [09:34:45:334]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIF324.tmp, Entrypoint: ContentPackInstall
cp_Install: Processing cabinet \\SERVER\ni$\work\Master\Projects\195552\Extern$\M sidata\Content\ADT_MetricDACH\templates.cab, 35 files.
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\Template\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\Template\\Template Project (D A CH)\
...
...
...
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\Template\\Template Project (D A CH)\Standards\WorkspaceToolPalettes\Palettes\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\Template\\Template Project (D A CH)\Standards\ToolCatalogs\Palettes\Images\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\Template\\Template Project (D A CH)\Standards\WorkspaceToolPalettes\Palettes\Image s\
CustomAction cp_Install.AF2EDBF1_A36C_4086_BBEA_5B33127A6B42 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
MSI (s) (58:BC) [09:34:46:725]: User policy value 'DisableRollback' is 0
MSI (s) (58:BC) [09:34:46:725]: Machine policy value 'DisableRollback' is 0
Aktion beendet 09:34:46:InstallExecute. Rückgabewert 3.

Ob der Template Ordner existiert oder nicht macht keinen unterschied. Er steigt immer an der selben Stelle aus.

Eigentlich sollte es so weiter gehen
cp_Install: Processing cabinet \\SERVER\ni$\work\Master\Projects\195552\Extern$\M sidata\Content\ADT_MetricDACH\designcenter.cab, 2734 files.
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Planinhalte\Aussparungen\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Planinhalte\Höhenkoten\2D Schnitt\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Planinhalte\Höhenkoten\Grundriß\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Planinhalte\Höhenkoten\Modell\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Planinhalte\Höhenkoten\Standard Blöcke\
cp_Install: Folder: C:\ProgramData\Autodesk\ACA 2011\deu\AEC Content\\D A CH\Plansymbole\Bauen für Kin

Es wird nun jede CAB Datei aus dem Ordner "Content\ADT_MetricDACH" genommen und entsprechend in das All Users oder des Users exportiert. Irgend wann kommt dann auch der WorkspaceCatalog welcher unter dem User Account fehlt.

Schöne Grüße

Jens

Alexander Dechent
August 9th, 2011, 09:37
hat das LP Benutzerteile? Brauchst du hier eine Benutzerteilevervollständigung für das LP? Wenn nicht würde ich es weglassen.

Nach "/f" funktioniert nichts mehr? Das ist ja schon eigenartig, das ist halt ne ganz normale Reparatur :-) . Autodesk...

Ich würde nochmal versuchen "/i ... REINSTALLMODE=vomu" für die Userteil-Nachinstallation (nicht repair sondern install!). Evtl. brauchst du auch noch "REINSTALL=ALL" dabei (weiß ich gerade nicht genau).

Ist das vielleicht gar kein Standard MSI Advertised Shortcut. Mit dem Process Explorer könntest du mal checken was der Shortcut eigentlich so alles anstartet.

Grüße,
Alex