Please clarify if the following are incorrect:
- you are creating Windows Client applications (not web);
- you are creating separate exe assemblies for each level (or just one with multiple levels?);
- are you going to install them all to the same directory?
There is nothing wrong with your idea of creating a file as a flag permitting the next application to start. However, be aware:
- you may not always be guaranteed to know the path, unless you write it to the directory of your current exe. If you have multiple install directories, one app may not know where to look for the other.
- users sometimes resent files being written to a directory you think you can guarantee, such as the "C drive" or "C:\Temp" or whatever.
Couple of other options might be:
- Is this local and are you using a central database for anything? Store it there.
- Write to a registry entry (blah!)
- If all the apps reside in the same directory, you can use the Configuration namespace classes to write values to the app.config file.
- Have each application generate a password when complete that the user will need to start the next application. It will need to be somewhat different or random for each user so that users simply don't "share" passwords, but will also have to follow some algorithm so that the next application can verify it.