首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在执行该单机版时更新Matlab单机版

在执行该单机版时更新Matlab单机版
EN

Stack Overflow用户
提问于 2013-10-18 17:47:43
回答 1查看 105关注 0票数 1

我已经向不同的用户分发了一个独立工作的版本。当他们连接到共享驱动器时,我想检查一下是否有此独立驱动器的更新。我已经把它弄好了,它会把新的安装包下载到独立的目录下。但是,我不能安装它,因为单机版已经在运行了(你不允许覆盖正在运行的应用程序),有没有办法让这个更新自动进行?在代码中:

代码语言:javascript
复制
copyfile(name,CurrentDirectory); % Download the new package [this works]
system([CurrentDirectory,name,' -o']); % Can't overwrite the .exe file (this code will just run the package of the standalone)

先感谢你的帮助,

EN

回答 1

Stack Overflow用户

发布于 2013-10-18 20:43:47

看起来你是在尝试使用某个程序来自我更新。这听起来很有问题,下面是你可以做的:

  1. 运行mainProgram以获取您需要的包
  2. mainProgram启动第二个程序updater kill mainProgram并更新程序
  3. updater启动mainProgram并自行终止

它将要求程序具有一些权利,但我希望它能为您完成工作。

下面是一个脚本,我使用它来终止您的my用户的所有Excel实例。我认为这可以改为处理mainProgram

代码语言:javascript
复制
    [~, computer] = system('hostname');
    [~, user] = system('whoami');
    [~, alltask] = system(['tasklist /S ', computer, ' /U ', user]);
    excelPID = regexp(alltask, 'EXCEL.EXE\s*(\d+)\s', 'tokens');
    for i = 1 : length(excelPID)
        killPID = cell2mat(excelPID{i});
        system(['taskkill /f /pid ', killPID]);
    end

这是我在windows下使用的,不确定这在其他操作系统上是否有效,但在其他操作系统中应该不难找到如何杀死进程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19446567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档