我们有一个桌面产品,由Win32服务,通知图标应用程序和相关的DLL文件组成.
我的任务是让它自动更新.我们可以编写自己的更新程序,但在我们这样做之前,我想看看还有什么.我们可以使用任何商业系统(类似于Windows Update,我猜)吗?我确信InstallShield曾经提供类似这样的东西,但我现在找不到它,而且我的记忆可能会让我失望.
它是一个Win32应用程序(和一个服务),所以ClickOnce出来了(或者是吗?).
当ClickOnce AutoUpdate部署的应用程序在Windows 7上自动更新时,应用程序将从任务栏中取消固定.有没有办法阻止它成为固定的?
我们在Google Play商店中有一个应用程序,它在前台不断运行.它运行的设备不受我们的控制,并且没有root.它们运行在Android 4.2或4.4上.
我们的目标是让应用程序更新到我们通过Play商店发布的最新版本,而无需用户交互.重启设备将是唯一可接受的"交互"选项.
我们发现正在运行的应用程序在运行时不会自动更新,即使打开了"自动更新"也是如此.
实现目标的方法是什么?
我有几个客户端使用托管在不同位置的本地IIS服务器中的Web应用程序.目前所有人都在使用1.0版.
我发布了应用程序的新版本说1.1版,压缩并在位于X的http服务器中托管.
我的应用程序可以检查新版本是否可用.现在可以做什么,以便客户端的v1.0可以替换为新版本,即1.1.我希望v1.0在客户端运行,自动(当然有用户权限)使用Internet从http服务器下载v1.1,在本地IIS服务器中提取文件并托管自己.
他们的任何方法如ClickOnce for web application?我使用asp.net C#构建应用程序.任何第三方应用程序或C#代码示例都很有用.
我正在使用的公司有一个用你的vb6编写的程序,它经常更新,并且大多数客户端从映射的网络驱动器运行可执行文件.这实际上几乎没有问题,其中最大的问题是自动更新.目前,updater程序(用c ++编写)重命名现有的exe,然后下载并将新版本放入旧版本的位置.这通常很好,但在某些环境中它只是失败了.
解决方案是从microsoft运行此命令:
for /f "skip=4 tokens=1" %a in ('net files') do net files %a /close
Run Code Online (Sandbox Code Playgroud)
此命令将关闭所有共享的网络文件(大多数),然后更新程序可以替换exe.
在C++中,我可以使用该System("");函数来运行该命令,或者我可以重定向输出net files,并遍历查找有问题的特定文件的结果并运行net file /close命令来关闭它们.但是,如果winapi功能具有类似的功能以获得更好的可靠性和未来的安全性,那将会更好.
有没有办法让我以编程方式查找所有网络共享文件并关闭相关文件?
我在Play商店上传了我的应用程序,然后上传了该应用程序的新版本.但是,我没有收到更新我的应用程序的任何通知.它似乎已自动更新到新版本.
我选择了仅通过Wi-Fi更新应用程序的选项.许多其他应用程序会自动更新,但我的不是.这是为什么?
我用电子来创建跨平台应用程序.对于Windows和Mac,它可以通过电子工具完成,如autoUpdate,Squirrel等.
问题只出在Linux上.我为Ubuntu构建了一个.deb包.但我找不到任何"分步"指令或有关它的综合信息.
我不熟悉java,也没有为Linux创建应用程序的经验.
所以主要问题是:
所有信息都会有所帮助,即使它(信息)与电子应用程序无关.
谢谢!
我发布我的 exe 并激活自动更新。
但是当我编译exe时,出现错误:
严重性代码 描述 项目文件行抑制状态错误 签名时发生错误:无法签署 bin\Debug\app.publish\myapp.exe。SignTool 错误:无效选项:/fd
所以我无法发布。
当我尝试取消选中“签署 ClickOnce 清单”时,错误消失了,但我无法安装该包,因为 Windows 不允许,并且 Windows Defender SmartScreen 阻止我的应用程序,因为没有证书。
我必须从“签署 ClickOnce 清单”添加证书,但现在它给出“SignTool 错误:无效选项:/fd”错误。
我怎么解决这个问题?
我正在尝试通过从应用程序内下载和安装更高版本的 APK 来创建应用程序自我更新的机制。
我有一个位于服务器上的 APK,如果我只是导航到 URI 然后打开 .apk 文件,它安装得很好。当我尝试以编程方式安装它时,问题就出现了。我收到“解析错误 - 解析包时出现问题”
目标手机允许从未知来源安装,并在AndroidManifest.xml我请求这些权限内:
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission android:name="android.permission.REQUEST_WRITE_PERMISSION"/>
Run Code Online (Sandbox Code Playgroud)
执行更新的代码取自 StackOverflow 上的另一个线程,并略有更改以适合我的特定情况。
public class UpdateApp extends AsyncTask<String,Void,Void> {
private Context context;
public void setContext(Context contextf){
context = contextf;
}
@Override
protected Void doInBackground(String... arg0) {
try {
URL url = new URL(arg0[0]);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setDoOutput(true);
conn.connect();
File file = context.getCacheDir();
file.mkdirs();
File outputFile = new File(file, "update.apk");
if(outputFile.exists()){
outputFile.delete();
}
FileOutputStream fos = new FileOutputStream(outputFile); …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 18.04 上使用 docker 19.03.9;docker 守护进程配置为自动启动。当我连接到我的雇主 VPN 时,docker DNS 配置不会更新,除非我重新启动 docker 守护进程。
有没有办法在主机 DNS 配置更改时自动更新 docker DNS 配置?
我的场景:我想从家里ping 公司网络内的服务器(比如server.mycompany.com)。我正在尝试从我的主机(运行 Ubuntu 的笔记本电脑)ping 它,然后从我主机上的容器内
注意:以下示例中所有 IP 地址都被屏蔽了
我创建了一个小的 docker 镜像来测试我的场景:
FROM ubuntu:18.04
RUN apt-get update \
&& apt-get install -yqq iputils-ping
CMD cat /etc/resolv.conf \
&& echo \
&& ping -c 2 server.mycompany.com
Run Code Online (Sandbox Code Playgroud)
然后我建立了这个形象: docker build -t test_dns .
在我的 Ubuntu 笔记本电脑的终端中,我执行以下 3 个命令:
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file …Run Code Online (Sandbox Code Playgroud)