StarUML下载官网
直接双击安装,我下载的时候是 4.1.6 版本
去除导出图片水印和 Unregistered 的弹窗
安装 Nodejs
下载地址
安装
双击,Next,Next,选择路径,Next... Finish 就行了
检查是否安装成功
npm -v
node -v
安装 asar
npm install asar -g
检查是否安装成功
asar -V
出现以下错误是是权限的问题,执行命令:get-ExecutionPolicy,显示Restricted,表示状态是禁止的
asar : 无法加载文件 C:\Users\hjh616\AppData\Roaming\npm\asar.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 http
s:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ asar -V
+ ~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
解决方法:
-
将 powershell 切换为以管理员身份运行
Start-Process powershell -Verb runAs
-
执行
set-ExecutionPolicy RemoteSigned
-
选择 Y
找到 StarUML 的安装路径
由于 StarUML 双击就安装了,没有选择路径的步骤,安装成功后,桌面有一个快捷方式,右键其快捷方式,可以看到其安装路径
解压 app.asar 文件
到该目录下打开 PowerShell ,执行解压命令
//注意这里Program Files目录要用引号引起来,因为中间有空格
cd C:\"Program Files"\StarUML\resources
asar e app.asar app
修改licence-manager.js文件
在 C:\Program Files\StarUML\resources\app\src\engine 目录下找到 licence-manager.js 文件
注释掉 licence-manager.js 文件中原来的 validate() 函数,改为下面的函数
//修改为以下的 validate 函数
validate() {
return new Promise((resolve, reject) => {
resolve({
name: "DXkite",
product: "DXkite product",
licenseType: "DXkite Personal",
quantity: "DXkite Quantity",
timestamp: "1529049036",
});
})
}
// 注释掉原来的函数
// validate () {
// return new Promise((resolve, reject) => {
// try {
// // Local check
// var file = this.findLicense()
// if (!file) {
// reject('License key not found')
// } else {
// var data = fs.readFileSync(file, 'utf8')
// licenseInfo = JSON.parse(data)
// if (licenseInfo.product !== packageJSON.config.product_id) {
// app.toast.error(`License key is for old version (${licenseInfo.product})`)
// reject(`License key is not for ${packageJSON.config.product_id}`)
// } else {
// var base = SK + licenseInfo.name +
// SK + licenseInfo.product + '-' + licenseInfo.licenseType +
// SK + licenseInfo.quantity +
// SK + licenseInfo.timestamp + SK
// var _key = crypto.createHash('sha1').update(base).digest('hex').toUpperCase()
// if (_key !== licenseInfo.licenseKey) {
// reject('Invalid license key')
// } else {
// // Server check
// $.post(app.config.validation_url, {licenseKey: licenseInfo.licenseKey})
// .done(data => {
// resolve(data)
// })
// .fail(err => {
// if (err && err.status === 499) { /* License key not exists */
// reject(err)
// } else {
// // If server is not available, assume that license key is valid
// resolve(licenseInfo)
// }
// })
// }
// }
// }
// } catch (err) {
// reject(err)
// }
// })
// }
重新打包为 app.asar
在 PowerShell 输入以下命令
asar p app app.asar
再次打开 StartUML 就不会有图片水印和 Unregistered 的弹窗了