Forum Discussion

Daan's avatar
Daan
Ideator I
5 months ago

Aras Update Guide: Self-Upgrading Innovator Independently

After plenty of trial and error – and some much-needed help from Aras Denmark – we finally got the Aras Update application working. We wanted to handle upgrades independently to reduce reliance on the upgrade team and speed up our deployment cycles. The catch? The Aras Update installer only runs smoothly on a clean, out-of-the-box Innovator installation, which is rarely the case in real-world production environments. To save others from the same headaches, I’ve documented the steps for anyone brave enough to attempt a self-upgrade.

Note: This process is supported from Release 14 onwards. It’s recommended that an experienced software engineer performs these steps. Attempt at your own risk.

1. Prepare a Clone of Production

  • Install your current Aras version on a separate machine using the ‘Configure Only’ option.
  • Restore a recent production .bak file in SQL Server Management Studio.
  • Run the following queries against the cloned database:
    • exec sp_change_users_login 'Update_One', 'innovator', 'innovator';
    • exec sp_addrolemember 'db_owner','innovator';
    • exec sp_change_users_login 'Update_One', 'innovator_regular', 'innovator_regular';
    • exec sp_addrolemember 'db_owner','innovator_regular';
  • Update the InnovatorServiceConfig.xml with the correct SQL connection string

2. Install Prerequisites

  • Install all required prerequisites from the Installation Guide PDF for the desired target version.

3. Back Up Your Code

  • Make a backup of the Innovator folder (your code tree).

4. Download the Patch

  • Get the desired patch from the Aras FTP. You do not have to go through each version. E.g., you can go from Release 26 to Release 34 directly.

5. Customize Patch Files

  • In the following files, append a custom suffix to the <name> property (e.g., <name>VersionServiceUpdate[YOURCOMPANYNAME]</name>):
    • VersionBuild.xml
    • VersionLabel.xml
    • VersionMajor.xml
    • VersionMinor.xml
    • VersionServiceUpdate.xml

6. Launch Aras Update

  • Run Aras Update as Administrator.

7. Add the Patch Package

  • Click ‘Local’ in the left menu and add a new package.
  • Select the extracted patch folder.

8. Install the Patch

  • Click ‘Install’ in Aras Update.

9. Update Each Module

For each applicable module:

  • Select only one module at a time (this helps isolate issues).
  • Enter the required application/server/SQL credentials.
  • Click ‘Install’.
    • If errors occur:
      • Login to Innovator failed: Check prerequisites and ensure IIS is running.
      • TRUNCATE or FOREIGN KEY errors: Compare the affected ItemType with one from a clean install. Adjust the related XML file in .\Aras Innovator 34 Patch\Imports\com\aras\innovator\ as needed, or temporarily remove it from the manifest (keep a backup for step 11). Oftentimes, it has something to do with property lengths, foreign properties and permissions. 
      • Innovator Variables issues: Revisit step 5.
      • GetMethodsKey endpoint (500 Internal Server Error): Make sure a user with loginname clientadmin exists in the database. Add it through nash.aspx
      • Other: If you hit something else, prepare for some blood, sweat, and forum searches – or maybe it’s time to reach out to the support team. Do not forget to leave the error message and solution in the comments down below.
    • Tip: if you need many attempts running the Aras Update installer, do not click 'Exit' when it fails. If you click 'Home' instead you do not have to enter the server credentials every attempt. 

10. Verify the Update

  • If the update completes without errors, try logging in.
  • If login fails:
    • Use the NASH endpoint (e.g., localhost/.../nash.aspx) to manually execute the contents of any removed XML manifest files.
    • Use DevTools (F12 > Network) to check for failed requests.

11. Test Everything

  • Test all features and modules. If Aras features have changed, manual conversion may be needed.
    • I recommend writing down test plans with relevant key-users to confirm everything still works
  • Review Release Notes for all versions between your source and target version and perform tests accordingly.
  • Keep a checklist of manual actions required.
  • Repeat the entire process – including running the Aras Update installer and performing all your documented manual actions – until a clean test environment upgrades completely without errors or issues, and all tests pass, before moving on to the cutover step.

12. Plan Production Cutover

  • Schedule a cutover weekend to upgrade production.
  • Run your customized Aras Update Patch and complete any manual steps identified in testing.

Congratulations

You’ve now performed a self-upgrade. Time to celebrate. Just remember: this isn’t formal documentation, and I’m not responsible for any production issues you may face as a result of following these steps. 

7 Replies

  • Hi Daan, 

    thanks for sharing this guide! 

    Regarding: 11. Test Everything

    "Test everything" is really the perfect term to describe this important task. But what is "everything"? From my POV testing should also involve trivial common tasks like "open Parts, edit Parts, create a new version of Parts, do an ECO, test your TGVs, do this, try that,..." .
    Not that we don´t trust Aras regarding testing these general functions, but often small, subtle customizations have an impact in the most unexpected places.

    This one reminds me of this thread:  link 
    Why does community not work together to create a generic general test plan that covers most of the essentials that really everybody should check? I wouldn’t make it fully public, but maybe there are people interested in working together?

    A quick side story: This thread was the result of a patch upgrade acceptance test. I was actually already finished with the upgrade. Patched all code tree files, merged all Methods,... . It was a perfect run! Speed record! Until a few fatal clicks in the wrong corner. And then a year-long odyssey began.   [emoticon:d6dd260102fd406884fc96b8bc59760b] 

     link 

    • Daan's avatar
      Daan
      Ideator I

      Hi Angela,

      Thank you for the elaborate response. You are right that 'Test Everything' is quite vague. You are also right that to us this would include all types of trivial work like checking forms, checking user permissions, testing (admin) menu's etc.

      Nice idea to come up with a community 'standardized' outline. I think it will help others a lot as well as the Aras Upgrade team themselves. If you know any more people that could provide input, perhaps we can bring people together?

      Best regards,

      Daan

      P.S. Always fun to read you have been through similar questions before. To me that means there must be many others that are still lurking on the forums. 

    • Jamey_Evans's avatar
      Jamey_Evans
      Ideator I

      I'd love to work on a general test plan project.  We are working on writing some automated test scripts to help expedite Aras testing.  Our environment has a lot of customizations and acceptance testing during each upgrade is painful.

      • AngelaIp's avatar
        AngelaIp
        Ideator I

        Hi Jamey,

        thanks for your interest in this idea!

        What do you think would be the best format and platform for a collaboration project like this?

        The easiest option would probably be to use shared Google Docs. However, I'm not sure if Word and Excel are really the best formats to work with.
        So far I worked with test plan in Word, but I was never fully satisfied with the result.
        What I really wanted was a more structured overview - ideally something I could tick off - that links to the individual test plan items. The whole use case is more like Requirements management.

        Or maybe even automated test scripts, like you mentioned. Are you working with TAF, or do you use a custom solution?

        Side note: I've also seen some people use PowerPoint for their test plans, which ended up looking more like a sales presentation. Let’s please agree not to use PowerPoint. :)

  • Thanks for posting this!

    We were on R16 and were looking into a lead time of 18 months by the upgrade team, so we decided to do it ourselves as well. So early February we upgraded from R16 to R32 which we have been running since. In light of the relatively low effort and high initial success we have decided to upgrade to latest revision every 6 months going forward.

    I have a cookbook of our upgrade process, which is different from yours and I will happily share if anyone is interested. For instance, we didn't let the upgrade tool do the package import, but did that step using the import tool, since we needed some adjustments to the packages. We worked with a highly skilled developer from Aras Denmark on this.

    My top tip for upgrading
    Spin up a few instances as step 0 and configure them exactly as your production instance. Then if something goes wrong, you can focus on locating the error, and not worry about bringing your (semi) upgraded instance back to working order. I think I broke 3 instances before having all the scripts in order for the upgrade

    • Daan's avatar
      Daan
      Ideator I

      Hello carstenw ,

      Thank you for sharing your experience. I am definitely interested in reading your cookbook so I can improve ours. I will send you a DM!

      Very useful tip you shared, it is must be in the cookbook. I went through the exact same struggle but did not have the server capacity available at that moment to add another instance. 

  • Upgrading Aras Innovator independently? Sounds ambitious! Handling upgrades ourselves felt crucial for faster deployments. I've seen first-hand the pain described here about out-of-the-box vs. reality. The customization dance is intense. Once, while migrating a smaller system, we were battling similar database permission errors. After hours of head-scratching, it turned out to be a forgotten user role. Good reminder to double-check those! I also think that it's very useful to have a Slope Game to help distract from the frustration after fixing the problem.