Wpf ClickOnce安装后立即运行更新程序

Wpf ClickOnce安装后立即运行更新程序,wpf,installation,clickonce,Wpf,Installation,Clickonce,我有一个小的WPF应用程序,很快就会部署到客户端。先决条件之一是Sql Express 2008,clickonce安装程序可以很好地处理这一部分。我的问题是,安装后,我需要能够解压缩备份的SQL DB,恢复它,并设置一些用户权限。我有执行此操作所需的SQL和代码,但我似乎不知道如何将其注入clickonce安装过程中,或者如何在安装之后、加载应用程序之前强制它运行某种“更新”。有什么办法可以做到这一点吗?你有没有什么办法?您可以创建自定义操作 我不确定您是否将拥有/需要提升的权限,但可能值得一

我有一个小的WPF应用程序,很快就会部署到客户端。先决条件之一是Sql Express 2008,clickonce安装程序可以很好地处理这一部分。我的问题是,安装后,我需要能够解压缩备份的SQL DB,恢复它,并设置一些用户权限。我有执行此操作所需的SQL和代码,但我似乎不知道如何将其注入clickonce安装过程中,或者如何在安装之后、加载应用程序之前强制它运行某种“更新”。有什么办法可以做到这一点吗?

你有没有什么办法?您可以创建自定义操作


我不确定您是否将拥有/需要提升的权限,但可能值得一试,

考虑在应用程序中检查IsFirstRun并在那时执行其他设置。使用这种方法,你可以做任何你想做的事情。以下是一段来自:

使用IsFirstRun确定 您需要执行任何一次性操作 初始化操作是第一步 应用程序运行的时间


创建一个“普通”的安装项目而不是ClickOnce可能会更好/更容易,因为它们是高度可定制且更可靠的(IMHO)。。。我非常喜欢clickonce自动检测/安装sql express,而且我没有创建安装项目的经验……只要“设置一些用户权限”不涉及提升的用户访问权限,这应该可以工作。ClickOnce应用程序永远不会以管理员身份运行。+1分。当我说“几乎什么都可以”时,我言过其实了。管理员权限不是一个选项。我同意这个。由于这是一个初步版本,我们只是告诉他们,他们需要以管理员身份登录。我想我最终需要创建一个传统的安装程序。谢谢。安装完成后,我可以在代码中的什么地方使用此代码?Main()?@RichardBrightwell如果数据库更新失败,我们可以返回到以前的版本吗?