# Troubleshooting

### Moving configurations across different machines

Let's say you have a factory with many machines performing the same inspection. Maintaining each machine individually would become a nightmare. So any time you make changes to the project on one machine, you take the updated project file and apply it to the rest of the machines on the line.

If any changes affect the recipe structure, then additional steps are required.

A typical process would be:

1. Replace the projects recipes (%Documents%\MyProject\Recipes\*) with the deployed recipes (for example, C:\Runtime\MyProject\Recipes\*).
2. Load the updated cdp.
3. Run Project Verify.
4. If it finds any issues with the recipes, go through and resolve each of them.
5. Redeploy.

Tip: If this is going to be the common case, then try the "Share Resources with IDE" option in deployment. It can save you the step of copying recipes, databases, etc back and forth.

Possible Project Verify warnings for recipes that mean you should resync the configurations.

Message | Common Reason | How to fix | Comments
--- | --- | --- | ---
Ingredient ID mismatch {tag name - id} in the configuration {2} for recipe {3}. | A tag renamed was renamed. A tag was re-imported by csv. | Open in the configuration editor and save it. | The ingredient's ID will be updated in the configuration file. If not updated, loading will fall back to using the tag address.
Type mismatch for {tag name} in the configuration {2} for recipe {3}. | A tag's datatype was changed. | Open in the configuration editor and save it. | The value for the ingredient in the configuration will be converted to the new type. If it fails, then the current value of the tag will be used. If not updated, each loading will attempt to convert the value. If it fails, an error will be logged and the remaining ingredients will not be loaded.
Missing ingredient {tag name} from the configuration {2} for recipe {3}. | The project has an ingredient that is not in the configuration. | Open in the configuration editor and save it. | The configuration in question will be populated with the current value of the tag. If not updated, then that ingredient's value will not be changed when loading the configuration.
Extra ingredient {tag name} exists in the configuration {2} for recipe {3}. | The configuration has an ingredient that is not part of the project's recipe. | Open in the configuration editor and save it. | The ingredients in the configuration that are not part of the project's recipe will be deleted. If not updated, then when loading that configuration, the extra ingredient will be ignored.