this is from the documentation:
Custom apps can only be installed on a merchant store once. Only generate your custom app's install URL when you're ready for a merchant to install the app, as it can't be changed or updated later.
How can i make updates to my app and then install on the same shop again? Let's say i install the app and some days later i want to add more features. In order to use this new features i have to install the app again. Is it possible or what i have to do?
You can install/uninstall your App on the same store as much as you want. So this limit is not a problem. I typically assign a custom App to Localhost for testing, and blow that thing up a million times before I am happy it is ready for production. Then I simply create another API key pair that works in the cloud, and dump that App to the cloud using that key pair. This way I can either test the App on my own development store and keep a live production copy on the merchant's store, OR I can just install both versions on the merchant's store. It looks Stupid sure, but that is the corner Shopify backed us into, so whatever.
Indeed, this is the overhead they force us to adapt. I always create one App key pair for localhost development, and one App key pair for production development. There is almost no other way work unless you choose to work on your production code exclusively and deal with the ridiculous deployment delays etc.
I asked many many years ago for Shopify to kindly improve our App experience by building into ONE App setup experience the ability to set localhost and production so that we would not need to go through all the tedious duplication required manually, but alas, that fell on deaf ears. So we suffer with the clunky pattern of creating two manually.