上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
a2336456
註冊時間: 2015-09-01 文章: 25
第 1 樓
|
發表於: 星期三 一月 11, 2017 8:09 am 文章主題: 其他應用程式已開啟,無法完成動作 |
|
|
client / server 的程式都會做捷徑給 user 使用,
可是有人開啟的情況下無法更新 exe,
電話一個一個要求關閉程式,仍然找不到誰開啟,
前輩們可以分享一下經驗嗎? |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4212 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期三 一月 11, 2017 8:44 am 文章主題: |
|
|
SERVER 重開機後更新.
----
應該會被打死...... _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
ckp6250
註冊時間: 2004-07-30 文章: 1644
第 3 樓
|
發表於: 星期三 一月 11, 2017 9:11 am 文章主題: |
|
|
解決的旁門左道可能很多,
但我認為syntech的方法最好。 |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 4 樓
|
發表於: 星期三 一月 11, 2017 9:12 am 文章主題: |
|
|
怕 user 資料沒存檔 ...
|
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 5 樓
|
發表於: 星期三 一月 11, 2017 9:22 am 文章主題: |
|
|
本機(我的電腦)按滑鼠右鍵選"管理" -->共用資料夾-->開啟檔案->滑鼠右鍵選你要關的檔案main.exe ->關閉開啟的檔案. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 6 樓
|
發表於: 星期三 一月 11, 2017 9:27 am 文章主題: |
|
|
garfield 寫到: | 本機(我的電腦)按滑鼠右鍵選"管理" -->共用資料夾-->開啟檔案->滑鼠右鍵選你要關的檔案main.exe ->關閉開啟的檔案. |
感謝,
如果是 SERVER 應該可以,
不過 NAS 有自己的作業系統 ... |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 7 樓
|
發表於: 星期三 一月 11, 2017 9:52 am 文章主題: |
|
|
那你只好做2個排程, 先在半夜重啟設備, 再排程更新程式. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 441
第 8 樓
|
發表於: 星期三 一月 11, 2017 10:40 am 文章主題: |
|
|
我的作法是:不直接拉exe當捷徑
改拉一個批次檔,例: start000.bat
內容為
call my_exe1.exe
當有更新exe時,有人佔注my_exe1.exe 時,就將此批次檔內容改為
call my_exe2.exe 或 call my_exe3.exe 一直輪迴
此時一定可以更新!
但也是需廣撥一下,請大家離線再登錄一次!
至於開機上線後,人不見了,也沒退出系統者...............就沒轍了 |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 9 樓
|
發表於: 星期三 一月 11, 2017 12:56 pm 文章主題: |
|
|
謝謝各位鼎力相助! |
|
回頂端 |
|
|
bx1166
註冊時間: 2011-12-06 文章: 273
第 10 樓
|
發表於: 星期三 一月 11, 2017 6:38 pm 文章主題: |
|
|
程式改放在每個client的電腦上,用個批次檔代替你的程式自動更新
Main.bat
:start
If exist newexe.exe go to update
Oldexe
Go to end
:update
Dele oldexe.exe
Rename newexe.exe oldexe.exe
Go to start
:end |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 11 樓
|
發表於: 星期四 一月 12, 2017 10:21 am 文章主題: |
|
|
這個批次檔在有人使用oldexe時又有放入newexe.exe 就會打死結. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
bx1166
註冊時間: 2011-12-06 文章: 273
第 12 樓
|
發表於: 星期四 一月 12, 2017 10:36 am 文章主題: |
|
|
所以説放在client. |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2157
第 13 樓
|
發表於: 星期四 一月 12, 2017 10:57 am 文章主題: |
|
|
那要將 newexe.exe 複制到每一台電腦太麻煩了.
如果可以請使用者自己copy newexe.exe , 不如直接copy 要使用的oldexe.exe 就好了.
這樣就不是自動更新的功能.
除非你可以在 oldexe.exe 裡有包含一個判斷server有無newexe.exe,且它的檔案日期時間 跟oldexe.exe不一樣 , 就將它複製到local端.
這樣這個批次檔才能使用. _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
a2336456
註冊時間: 2015-09-01 文章: 25
第 14 樓
|
發表於: 星期一 一月 16, 2017 1:51 pm 文章主題: |
|
|
我發現用 windows rdp 進系統,沒登出的話也會鎖住。
目前遇到有很多方法可以鎖住 exe。 |
|
回頂端 |
|
|
perry
註冊時間: 2014-07-20 文章: 203
第 15 樓
|
發表於: 星期一 一月 16, 2017 7:02 pm 文章主題: |
|
|
這是個人的自動更新方式,您看看合不合用!!
複製 a.exe 到 User 端,並執行
代碼: |
*****************
*a.exe
*main.prg
*****************
PROC MAIN
LPAR XUP_IO
PRIV UP_IO
UP_IO=IIF(PARA()<1,0,1)
SET TALK OFF
PRIV log_server
log_server='\\MYServerName'
PRIV o_ru
o_ru=CREA('WSCRIPT.SHELL')
o_ru.RUN('NET TIME '+log_server+' /SET /Y ')
chfi_name1=log_server+'\TEST\A1.EXE'
chfi_name2='C:\TEST\A1.EXE'
IF !FILE(chfi_name2)
COPY FILE (chfi_name1) TO (chfi_name2)
ENDI
IF ADIR(DD_SS1,chfi_name1)>0
IF ADIR(DD_SS2,chfi_name2)>0
IF DD_SS1(1,2)#DD_SS2(1,2) OR ;
DD_SS1(1,3)#DD_SS2(1,3) OR ;
DD_SS1(1,4)#DD_SS2(1,4)
ON ERROR DO ERR_MSG
IF UP_IO=1
A_T=DATETIME()+3
DO WHIL DATETIME()<A_T
IF DATETIME()>A_T
EXIT
ENDI
ENDDO
ENDI
ERAS (chfi_name2)
ON ERROR
COPY FILE (chfi_name1) TO (chfi_name2)
ENDI
ENDI
o_ru.RUN(chfi_name2)
ENDI
PROC ERR_MSG
MESSAGEBOX(CHR(13)+'�{式執行中無法自動更新!!'+CHR(13),16)
QUIT
*****************
*a1.exe
*main.prg
*****************
PROC MAIN
SET TALK OFF
DO NEWEXECK
.
.
.
PROC NEWEXECK
PRIV log_server
log_server='\\MYServerName'
PRIV chfi_name1,chfi_name2
chfi_name1=log_server+'\TEST\A1.EXE'
chfi_name2='C:\TEST\A1.EXE'
IF ADIR(DD_SS1,chfi_name1)>0
IF ADIR(DD_SS2,chfi_name2)>0
IF DD_SS1(1,2)#DD_SS2(1,2) OR ;
DD_SS1(1,3)#DD_SS2(1,3) OR ;
DD_SS1(1,4)#DD_SS2(1,4)
MESSAGEBOX(CHR(13)+'已有新�{式...'+CHR(13)+;
'按 [確定] 後自動執行更新並重啟�{式!!',0+64+0,'提 示')
CLOS ALL
o_ru=CREA('WSCRIPT.SHELL')
o_ru.RUN('C:\TEST\A.EXE 1')
QUIT
ENDI
ENDI
ENDI
ENDPROC
|
|
|
回頂端 |
|
|
|