CHiLL Posted October 7, 2021 Posted October 7, 2021 (edited) Our exams officer has asked me to look at installing the latest version of A2C that was released this week (1.3.2.373eba39). I'm trying to make life easier in the future and get it configured during the install stage, but I'm not able to figure out if it's possible to configure the installer via switches. The A2C documentation is near useless in this regard (from what I've found). When the setup (MSI) runs, it prompts you for three things (not required though). Configurable AppData location, Inbox location and Outbox location. We do use a remote location for the application's AppData. I'd like the AppData, Inbox and Outbox to be configured during a command line install if possible. I've just installing and replacing the "jcq.a2c.client.gui.exe.config" file with one configured manually via the installer, but I get a database cannot be found error when loading the application when I launch it when using that file. I've also had an issue when I attempt to launch A2C with this configuration, it complains with an error: [ATTACH=CONFIG]63348[/ATTACH] Edit: I've narrowed down to there being an issue when I specify a remote AppData location. If I install with local AppData and point it to the Inbox and Outbox on our MIS server, the following files and folders are created in "%appdata%\A2C Migration Application": AwardingBodies (Folder) FileTypes (Folder) LOCK (File) log.db (File) User.Setting (File) However, only the following files are created when I specify the remote AppData location during the installer to: "\\misserver\AdminData$\Sims\Exams\A2C Transport Application\AppData" (and there's no folder created in local %AppData%): Exceptions.txt (File) LOCK (File) User.Settings (File) Presumably because the database file isn't in the AppData folder when configured remotely, when it is locally. Though looking at the configuration of the old version of the application, also with a remote AppData in a separate location, that also doesn't have the database file. So there's some inconsistency that I haven't yet pinned down. I don't know if it's something I'm missing, or an issue with the A2C application itself. Edited October 7, 2021 by CHiLL
CHiLL Posted October 7, 2021 Author Posted October 7, 2021 (edited) Stupid mistake is stupid. It doesn't like UNC paths for the AppData, Inbox and Outbox locations. You need to use the mapped drive path. Still not figured out the command line configuration yet though. Update: The only way I can get it pre-configured, is to configure it myself manually on one machine and copy the "jcq.a2c.client.gui.exe.config" file to the client using xcopy in the batch file. I'd prefer not to use a batch file and just deploy the MSI with command line switches, but this may be the best option. I've emailed A2C anyway and asked the question. Edited October 7, 2021 by CHiLL
BOOT Posted October 7, 2021 Posted October 7, 2021 Have you tried adding: INBOX_DIR="PATH" OUTBOX_DIR="PATH" to the command?
CHiLL Posted October 7, 2021 Author Posted October 7, 2021 Have you tried adding: INBOX_DIR="PATH" OUTBOX_DIR="PATH" to the command? Yeah, sadly to no avail. I've tried multiple variations for the public parameters, but I haven't found the right ones yet (if they even exist).
Boredguy Posted October 7, 2021 Posted October 7, 2021 (edited) What I did (and we did the same with the original version) was to install it manually on 1 station and enter the In and Out folder, select that we have a custom AppData folder (we have 1 for both stations) and let it finish installing. We then copy the jcq.a2c.client.gui.exe.config file to the same folder as our MSI, and we have a batch file to install it on the stations msiexec.exe /i "%~dp0A2C Transport Application" /q If Exist "C:\Program Files (x86)\A2C Transport Application" Copy "%~dp0jcq.a2c.client.gui.exe.config" "C:\Program Files (x86)\A2C Transport Application" If Exist "C:\Program Files\A2C Transport Application" Copy "%~dp0jcq.a2c.client.gui.exe.config" "C:\Program Files\A2C Transport Application" Working fine so far, and deployed via SCCM You could always use a GPP value to copy over the file if you don't want to use a batch file too Edited October 7, 2021 by Boredguy 1
ZenIT Posted October 13, 2021 Posted October 13, 2021 (edited) Software doesn't start if APPDATA_DIR, INBOX_DIR, OUTBOX_DIR are UNC paths and errors with: "...System.Data.SQLite.SQLiteException (0x800007FF): unable to open database file at System.Data.SQLite.SQLite3...". The default installation path is: C:\Program Files (x86)\A2C Transport Application A2C Transport App stores settings in XML file: C:\Program Files (x86)\A2C Transport Application\jcq.a2c.client.gui.exe.config You need to specify those folders as mapped drives or local paths (with a drive letter assigned to that directory/partition/disk, etc.) something like that in the config file: ... The app needs to write to those folders so user running it needs to have modify permissions on those folders (and subfolders) and at least traverse permissions on all the folders above those three. The MSI should accept those properties at the command line: USE_CUSTOM_APPDATA="1" APPDATA_DIR="W:\YourPathGoesHere\A2C\Appdata\" DO_INBOX_OUTBOX="1" INBOX_DIR= "S:\YourPathGoesHere\ExamsIN\" OUTBOX_DIR="S:\YourPathGoesHere\ExamsOUT\" The command line could look like this (Run it from elevated command prompt): MSIEXEC /I "\\YourUNCPathToInstallerFile\A2C Transport Application.msi" /QB-! USE_CUSTOM_APPDATA="1" APPDATA_DIR="W:\YourPathGoesHere\A2C\Appdata\" DO_INBOX_OUTBOX="1" INBOX_DIR= "S:\YourPathGoesHere\ExamsIN\" OUTBOX_DIR="S:\YourPathGoesHere\ExamsOUT\" Or you could create a transform file (MST) with all those properties and use it to modify original MSI during installation. Edited October 13, 2021 by ZenIT 1
CHiLL Posted October 14, 2021 Author Posted October 14, 2021 (edited) Software doesn't start if APPDATA_DIR, INBOX_DIR, OUTBOX_DIR are UNC paths and errors with: "...System.Data.SQLite.SQLiteException (0x800007FF): unable to open database file at System.Data.SQLite.SQLite3...". The default installation path is: C:\Program Files (x86)\A2C Transport Application A2C Transport App stores settings in XML file: C:\Program Files (x86)\A2C Transport Application\jcq.a2c.client.gui.exe.config You need to specify those folders as mapped drives or local paths (with a drive letter assigned to that directory/partition/disk, etc.) something like that in the config file: ... The app needs to write to those folders so user running it needs to have modify permissions on those folders (and subfolders) and at least traverse permissions on all the folders above those three. The MSI should accept those properties at the command line: USE_CUSTOM_APPDATA="1" APPDATA_DIR="W:\YourPathGoesHere\A2C\Appdata\" DO_INBOX_OUTBOX="1" INBOX_DIR= "S:\YourPathGoesHere\ExamsIN\" OUTBOX_DIR="S:\YourPathGoesHere\ExamsOUT\" The command line could look like this (Run it from elevated command prompt): MSIEXEC /I "\\YourUNCPathToInstallerFile\A2C Transport Application.msi" /QB-! USE_CUSTOM_APPDATA="1" APPDATA_DIR="W:\YourPathGoesHere\A2C\Appdata\" DO_INBOX_OUTBOX="1" INBOX_DIR= "S:\YourPathGoesHere\ExamsIN\" OUTBOX_DIR="S:\YourPathGoesHere\ExamsOUT\" Or you could create a transform file (MST) with all those properties and use it to modify original MSI during installation. I've just tried that this morning, but unfortunately I'm getting the Windows Installer dialogue box appearing, showing me the available command line switches. I presume this is because it doesn't like the variables passed through. I've manually typed it into the copy of the batch file I took and I've also copied and pasted your command line above, both do the same thing. Edited October 14, 2021 by CHiLL
ZenIT Posted October 14, 2021 Posted October 14, 2021 There are two errors in my original post that were introduced by vBulletin while I was previewing my post. There are spaces between INBOX_DIR= and "S:\YourPathGoesHere\ExamsIN" which shouldn't be there and that's why you are getting MSIEXEC syntax help window. The correct batch file code should look something like this: @ECHO OFF REM Map appropriate drives if they are not present in the installation environment. Installation will fail if MSIEXEC can't access those drives. IF NOT EXIST W:\ (NET USE W: "\\YourUNCPathToW:Folder" /persistent:no >NUL: 2>&1) IF NOT EXIST S:\ (NET USE S: "\\YourUNCPathToS:Folder" /persistent:no >NUL: 2>&1) REM Run installation START "A2C Transport App Installation" /WAIT /B MSIEXEC /I "\\YourUNCPathToInstallerFile\A2C Transport Application.msi" /QB-! USE_CUSTOM_APPDATA="1" APPDATA_DIR="W:\YourPathGoesHere\A2C\Appdata\" DO_INBOX_OUTBOX="1" INBOX_DIR="S:\YourPathGoesHere\ExamsIN\" OUTBOX_DIR="S:\YourPathGoesHere\ExamsOUT\" You need to create and map your own W:\ and S:\ (or whichever letters you have available) folders. If you create those folders somewhere on the internal network (maybe a server or a storage) that is permanently available to the users that are going to be running A2C software then you could deploy A2C software to several separate computers and users would be able to run the software from any of those computers (but most likely not simultaneously!). The folders need to be mapped for A2C users with the same drive letters that you specified as properties on the command line and mapped during installation.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now