Tricky issue. I knew it'd be a problem at some point, but this is the first time that it actually is a problem for a concrete scenario :)

We could add some optional 'priority' enum with values like Low, Normal, High, but that's a tough choice to put the package author in front of.

Note that in a way, we already have this in the sense that you can choose between the PreApplicationStartMethod and
PostApplicationStartMethod attributes. In fact, I think that EntityFramework.SqlServerCompact would work fine as a PostStart method. As a test, could you try changing the attribute for the EntityFramework.SqlServerCompact startup code
to PostApplicationStartMethod and see how that goes?

If it all works well, we can consider re-releasing that package with that change. I would say that authors should use Post unless they have a valid reason to go with Pre (though I think most are using Pre today as Post support was added more recently).

how can i modify my Web.config using the start up code from web activator? 'It is because i have to change my web.config at runtime', i have tried a lot
things, but no success. Can you help me with this? Thank you.

Generally, modifying web.config at runtime is tricky, because it causes the App Domain to shut down. Web Activator has no special support for modifying web.config, though it's probably something that can be done (e.g. via XML API's). But the behavior may
not be what you want.

As an aside, it's best to start new thread for new topics to avoid causing confusion between the original question and the new question :)

I just filed this WebActivator
bug to track this. The idea is that we can look at the assembly dependency graph to infer ordering automatically. This will cover most scenarios, and will not put any burden on the end user.