aardio 文档

aardio 范例: 自动安装软件

import process.cache;

//用下面的方法可以搜索运行或 AppPath 注册过的程序,找不到再查找快捷方式
var blenderPath = process.cache.find("blender-launcher.exe");
if(io.exists(blenderPath)){
    return print("已安装:",blenderPath) //获取已安装的路径,已验证可用
}

import inet.installer;
import web.rest.htmlClient;

var downloadBlender
var http = web.rest.htmlClient();
var htmlDoc,err = http.get("https://www.blender.org/download/");
if(htmlDoc){ 
    var linkEle = htmlDoc.queryEle(href="blender[^\n]+windows[^\n]+\.msi/?");
    if(linkEle){ //获取下载链接,已验证可用 

        // The button is a landing page, not the MSI..
        htmlDoc,err=..web.rest.htmlClient.get(linkEle.href);
        if(!htmlDoc) return print("解析 Blender 下载地址失败");

        linkEle =   htmlDoc.queryEle(tagName="a";href=`blender[^\n]+windows[^\n]+\.msi$`);
        if(!linkEle) return print("获取最终 Blender 下载地址失败");

        //以进程默认权限自动安装 MSI ,改为 inet.installer 则以管理权限安装 MSI 文件
        if( inet.installer.asInvoker("Blender",linkEle.href) ){
            return print("安装成功");
        }
        else{
            return print("安装失败");
        }
    }
    else{
        print("未找到安装地址")
    }
}
else{
    print(err)
}


Markdown 格式