Hello Apskalle ,
thanks for your feedback. One of the key goals of this blog is to create a community for Windows developers where we can discuss technical topics and help each others. It's totally fine if you don't like my post or if you think it can be improved, but I kindly ask you to be more respectful of the work of others next time.
Having said that, this article is specific of passing activation parameters from the installer, which is a common requirement when, for example, you're running a marketing campaign and you want to track how many people installed the application as a consequence. However, the same protocol implementation works just fine on every launch. You just have to invoke the application using the protocol (for example, by pressing Win-R and typing the full URL, or by invoking the URL from another app or website) and the query string parameters will be passed to the app. Or is your expectation that the parameters passed at the installation should always be passed down to the application? Unfortunately, this would break how protocol activation works (what if you want to activate the app with different parameters?). If you need to handle this scenario, a better approach would be to intercept the query string parameters at the first launch after the installation and then store them somewhere (a database, a file, etc.)
Regarding the problem with multiple query strings, thanks for the feedback. I'll test the scenario and, if it's indeed a limitation, I'll forward it to the App Installer team.