- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 ClickOnce 应用程序,在它安装到客户端机器上后,它第一次启动时会创建文件夹 X、Y 和 Z。
现在,当用户开始使用应用程序时,他/她会在这些文件夹中创建各种文件。稍后应用程序的新版本可用,他/她将应用程序从版本 1.0.0.0 更新到 1.0.0.1。
最终结果是文件夹 X、Y 和 Z 被重新创建(并且是空的)并且用户看不到他之前创建的文件。
我们如何传播版本中的文件并保证在第一次安装应用程序时自动创建文件夹 X、Y 和 Z?
最佳答案
我是否正确地假设这是在应用程序的数据目录中创建的文件夹和文件的具体问题?
我可以想到两种解决方案:
更新后,DataDirectory 的内容被复制到新版本的 DataDirectory 中,并放置在名为 .pre
的子文件夹中。您可以使用 ApplicationDeployment.CurrentDeployment.IsFirstRun
以编程方式检查是否刚刚下载了更新,然后编写您自己的迁移代码以将适当的文件夹从 .pre
移动到父目录。
一个不同的答案,也是我们使用的一个,是完全绕过 ClickOnce DataDirectory 并在用户的应用程序数据目录中设置您自己的文件夹(记住使用该文件夹的 .NET 别名)。这种方法的缺点是,如果您从“添加/删除程序”中卸载应用程序,文件夹将不会自动卸载。几个好处是:
这些文件夹在处理损坏的 ClickOnce 缓存时有时需要卸载/重新安装时仍然存在(比几年前频率低,但仍然是偶尔出现的问题)。
文件夹跟随使用漫游配置文件的用户(我们的经验是在漫游配置文件情况下,ClickOnce 目录未配置为漫游)。
如果由于这些数据文件中的问题而必须通过电话或电子邮件提供 IT 支持,则可以更轻松地找到这些文件夹。即使是 IT 人员也常常难以找到 ClickOnce 数据目录(它有一个隐藏的父目录),但大多数人可以轻松地在应用程序数据中找到您公司的目录。 YMMV,如果您出于安全原因需要混淆这些文件的位置。
关于clickonce - 在 ClickOnce 更新之间保留用户创建的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272114/
我有一个使用 ClickOnce 部署的 WinForms 应用程序。在应用程序项目中,我将一些文件标记为“内容”,它们在“发布”设置的“应用程序文件”对话框中也标记为“数据文件”。我还有一些标记为“
理想情况下,调用 setup.exe 时根本不会弹出任何窗口,但最好是让用户不必在安装先决条件和其他选项时单击“确定”。甚至可以使用 ClickOnce ? 最佳答案 附加文件 附加组件(文件和 DL
我部署了一个新版本的 ClickOnce 应用程序 我在测试客户端机器上打开我的 ClickOnce 应用程序 不提供升级 我关闭我的 ClickOnce 应用程序并重新打开它,现在提供升级 为什么我
我们部署了一个名为“Its Our App”的 Winforms 应用程序。 人们将其称为 IOA。我想保留快捷方式的全名,但我看到许多用户在键盘上按下 Windows 键,输入 IOA,然后奇怪地说
好的,我有一个 Windows Forms使用 ClickOnce 发布的应用程序到http://MyDevComputer1/DevPublishFolder/ ,所以部署链接是 http://My
.NET ClickOnce 应用程序被部署到 C:\Documents and Settings\\Local Settings\Apps\2.0 的子文件夹中。在开发过程中,我们倾向于进行大量的小
自 ClickOnce每个配置文件而不是每台计算机安装,有没有办法同时从多个配置文件卸载单个 ClickOnce 客户端应用程序? 我们有一个 ClickOnce 应用程序,我们希望使用标准 MSI
对于不同的环境,我们有多个具有不同配置文件的相同程序集的部署。我们将这些打包成具有不同部署标识(Program_ENV1、Program_ENV2 等)的单独 ClickOnce 部署。 应用程序标识
我有一个简单的 WinForms 应用程序,我正在使用 ClickOnce 在内部部署它。主应用程序有一个依赖程序集,该程序集有一些 xml 模板文件在构建属性中标记为“内容”和“始终复制”,但是如果
有没有办法在不提示用户的情况下安装 ClickOnce 应用程序?我说的是用户第一次运行应用程序时得到的“运行/不运行”。 似乎有一些线索here但我相信这是关于跳过“海拔”(UAC)和安全提示,而不
我有一个 ClickOnce 应用程序,在它安装到客户端机器上后,它第一次启动时会创建文件夹 X、Y 和 Z。 现在,当用户开始使用应用程序时,他/她会在这些文件夹中创建各种文件。稍后应用程序的新版本
有没有一种方法(hacky 可以)允许用户返回到 ClickOnce 的先前版本网络部署的应用程序? 我查看了文档和API,似乎没有办法。您可以选择性地选择是否要更新,但一旦更新,似乎就无法返回。 最
我了解 ClickOnce 应用程序可以自动更新。但是,Microsoft 提供的选项并不是我想要的。 如果我在应用程序启动前检查版本,启动会比较慢。 如果我在应用程序启动后检查版本,直到下次启动时我
在我的 ClickOnce c# 应用程序中,如何判断用户是否刚刚更新了应用程序?我愿意在用户下载更新后显示发行说明或更改日志。 我知道如何以编程方式(拼写?)检测更新是否可用,并手动执行更新。那时我
为我的 ClickOnce 应用程序的用户提供降级到以前版本的方法的推荐方法是什么? (以防新版本不能在他们的机器上运行) 最佳答案 在 ClickOnce 部署设置中,将最低要求版本保留为旧版本。这
我了解 ClickOnce 应用程序可以自动更新。但是,Microsoft 提供的选项并不是我想要的。 如果我在应用程序启动前检查版本,启动会比较慢。 如果我在应用程序启动后检查版本,直到下次启动时我
众所周知,当我们双击已安装的 clickonce 应用程序时,会弹出一个“clickonce 屏幕”,上面写着“正在验证系统要求”。然后如果服务器中有更新版本,clickonce 更新本地安装的版本,
我即将部署一个 ClickOnce 应用程序供内部使用。我将亲自将应用程序分发给一组受信任的用户。我知道可以对 ClickOnce list 进行签名,但是当用户信任来源时是否需要签名? 不签署 li
我们非常接近以 ClickOnce 部署的形式发布我们的第一个产品,但是有几个烦人的问题我似乎无法解决...... 我知道在 ClickOnce 部署 list 中,ClickOnce 需要 Wind
我正在为客户端开发一个 Windows .NET 4 桌面应用程序,并且正在考虑使用 ClickOnce从客户的网站部署它。我还计划从他们的网站部署应用程序版本升级。 我已经阅读了 StackOver
我是一名优秀的程序员,十分优秀!