>First advice the user whats out there.
Then have the user decide what to do: Instal new here or use existing
Then based on the decicion install smo or have the user even go to the existing sql server (physicly) and continue the install there, then i don't need to install smo (i think it installs with sql, correct?)
>
>Do you think that approach would be acceptable in a shrink-wrapped environment?I see no problem with that approach.
But, rather than require the user to run the app on the existing server machine, here's another thing you can do rather than install SMO:
- Change the "Copy Local" for the SMO references. IOW, in the references of your app, right-click on the Microsoft.SqlServer.Smo and choose Properties. Then change "Copy Local" to true (do this with the other Microsoft.SqlServer.* DLLs). The DLLs get included in your bin\debug folder. So, you're actually going to distribute the DLLs with your app. That's probably ok to do, I'm guessing.
... and it seems to work ok, I just tested it. Although, to be honest, I didn't actually test it on a machine that doesn't already have SMO installed, so you may want to play with it a bit more.
~~Bonnie