Command-line parameters

Note  Before you run the upgrade tool on a source file, be sure the source file is closed.

Usage: FMUpgradeTool <Subcommand> [<other options>]

Subcommands

Description

--help

Displays help.

--version

Displays the version of the upgrade tool (major.minor.update.build). The major version number corresponds to the Claris FileMaker Platform version. The other numbers describe the specific version of this tool.

--update

Updates a FileMaker Pro file based on a patch file with these options:

Options

Description

-src_path

File path of source FileMaker Pro file (required)

-src_key

Encryption password of source file

-src_account

Name of account that has either full access privileges or the fmupgrade extended privilege

-src_pwd

Password for source account

-plugin_folder

File path of the folder containing FileMaker plug-ins used by the source file

-patch_path

File path of upgrade patch file (required)

-dest_path

File path of resulting upgraded FileMaker Pro file

--validatePatch

Returns an error if the specified patch file is not valid. Can be used to test both plaintext and encrypted patch files. Uses these options:

Options

Description

-src_path

File path of source FileMaker Pro file (required)

-src_key

Encryption password of source file

-src_account

Name of account that has either full access privileges or the fmupgrade extended privilege (required)

-src_pwd

Password for source account (required)

-patch_path

File path of upgrade patch file (required)

--encryptPatch

Encrypts a plaintext patch file for secure patching. Uses these options:

Options

Description

-patch_path

File path of upgrade patch file (required)

-patch_key

Passkey to encrypt patch file (required)

-dest_path

File path of resulting encrypted patch file

--decryptPatch

Decrypts an encrypted patch file. Uses these options:

Options

Description

-patch_path

File path of an encrypted patch file (required)

-patch_key

Passkey to decrypt patch file (required)

-dest_path

Passkey to decrypt patch file (required)

--generateDBFile

Creates a FileMaker Pro file from a valid FMSaveAsXML file. The output file is created in the same folder as the source XML file and uses the same filename with the .fmp12 extension. If a file with that name already exists, " Copy" is appended to the filename (e.g., fileA Copy.fmp12).

Options

Description

-src_path

File path of source XML file (required)

-plugin_folder

File path of the folder containing FileMaker plug-ins used by the source file

--generateGUIDs

Generates a globally unique ID (GUID) for each object that doesn't have one, ensuring each object has a GUID that can be referenced by a patch. Uses these options:

Options

Description

-src_path

File path of source FileMaker Pro file (required)

-src_key

Encryption password of source file

-src_account

Name of account that has full access privileges (required)

-src_pwd

Password for source account

-dest_path

File path of resulting modified copy of FileMaker Pro file

--regenerateGUIDs

Regenerates new GUIDs for all objects. Uses the same options as --generateGUIDs.

These options can be used with any subcommand:

Options

Description

-force

Overwrites an existing output file. Not applicable to --generateDBFile.

-inplace

Modifies the source FileMaker Pro file in place rather than create a copy. If you use this option, -dest_path is ignored. Not applicable to --generateDBFile.

-v (verbose mode)

Provides details about the upgrade process. Outputs the subcommand and options used, but not a password or passkey.

-q (quiet mode)

Outputs minimal information.

Example:

Copy
FMUpgradeTool --update 
    -src_path ./MySourceApp.fmp12
    -src_key MyEncryptionPassword
    -src_account Admin
    -src_pwd MyAdminPassword
    -plugin_folder ./plugin/
    -patch_path ./MyPatch.xml
    -dest_path ./MyPatchedApp.fmp12

Notes 

  • If the file specified by -dest_path already exists, an error is returned and the operation is terminated unless -force is used. If -dest_path isn't specified, a suitable path and filename will be generated.

  • The upgrade tool returns an integer to the shell that calls it: zero (0) when it is successful, a non-zero number when there is an error. For the meaning of an error, see the error message that the tool outputs.

  • When using --generateDBFile or --update, the upgrade tool generates an XMLDeserializeResults.log file in the same directory as the output FileMaker Pro file. The log reports each catalog processed, any errors encountered, and a summary of how many items were processed and how many failed. Only one log file is maintained per directory; each entry includes the filename, timestamp, and other details to distinguish results across multiple operations.

  • When using --generateDBFile, catalog member IDs from the source XML file are preserved in the resulting FileMaker Pro file. New UUIDs are generated for all objects.

  • When using --update, catalog member IDs are preserved. If a catalog member ID in the patch file conflicts with an existing ID in the source file, the operation is terminated and the conflict is reported in the log file. Do not use the upgraded file until all conflicts are resolved and the upgrade is successfully rerun.

  • If your FileMaker Pro file uses plug-ins, use -plugin_folder to specify their location. The upgrade tool requires the plug-ins to correctly process calculations that depend on them. If the file does not use any plug-ins, this option can be omitted.