Fala pessoal, vou colocar um complemento.
"inserir linhas de código para gerar o banco de dados após o app ser instalado nos outros PC's, certo? Ou ao gerar o app executável ele já vai com o banco de dados?"
Um dúvida sobre "outros PC´s": Você esta falando de aplicativos em "clientes" diferentes ou para ser utilizado em REDE? O ideal é você criar um projeto de configuração onde você passe a linha de conexão, sendo assim você configura terminal por terminal onde esta o servidor e todos visualizarão os mesmos dados, desta forma você pode colocar seu banco em qualquer lugar, inclusive na web, embora seja uma "gambiarra".
Você vai ter que gerar na mão da mesma forma que colocou ai, a menos que use algum ORM(Entity, por exemplo).
Vai validar se o arquivo existe com If, como você mencionou e utilizar
SqlCeEngine engine = new SqlCeEngine("stringDeConexão");
engine.CreateDatabase();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE lalalalala";
cmd.ExecuteNonQuery();
Lembrando que você vai ter que criar todas as tabelas.