![]() |
#1 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]()
hi
when i open a file in windows 64 bit then my file process suspended! but when i open Manual the file,profess good start! the code I am using for open file: code: and code: What is the problem? How do I fix the problem? |
![]() |
![]() |
![]() |
#2 | ||
Major Dude
Join Date: May 2005
Location: New Zealand
Posts: 901
|
ExecShell is for opening documents, not for running programs. Plus you're missing a backslash:
Quote:
Quote:
"Only a MouseHelmet will save you from a MouseTrap" -Jason Ross (Me) NSIS 3 POSIX Ninja Wiki Profile |
||
![]() |
![]() |
![]() |
#3 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]() |
![]() |
![]() |
![]() |
#4 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]()
i found a Clues...
if when open a file with code: code: then if I work with the system (For example:Refresh Desktop with F5) Then Process When Run Suspended! but i not Touching system then program (process) good work! Is there a way to solve this problem? Thank you |
![]() |
![]() |
![]() |
#5 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,356
|
ExecDos is for console applications when you need special control over stdin/stdout, just use Exec or ExecShell...
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
#6 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]() |
![]() |
![]() |
![]() |
#7 |
Moderator
Join Date: Nov 2002
Location: Surrey, England
Posts: 8,434
|
Because ExecDos, nsExec and ExecWait will wait for the new process to finish before returning. Use Exec:
Exec `"$R1\Photoshop.exe"` or Exec `"$R1\Photoshop.exe" "$INSTDIR\somefile.psd"` or ExecShell open `$INSTDIR\somefile.psd` Stu |
![]() |
![]() |
![]() |
#8 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
Again, the application process is Suspended.......
As Before: if I work with the system (For example:Refresh Desktop with F5) Then Process When Run Suspended! but i not Touching system then program (process) good work! Is there a way to solve this problem? Thank you |
![]() |
![]() |
![]() |
#9 | |
Major Dude
Join Date: May 2005
Location: New Zealand
Posts: 901
|
Quote:
What happens when you double click on the file that needs to be run? Does it still suspend? "Only a MouseHelmet will save you from a MouseTrap" -Jason Ross (Me) NSIS 3 POSIX Ninja Wiki Profile |
|
![]() |
![]() |
![]() |
#10 | |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]() Quote:
when i double click on the file,file run good! and process running...! |
|
![]() |
![]() |
![]() |
#11 | |
Major Dude
Join Date: May 2005
Location: New Zealand
Posts: 901
|
As stated before, don't use ExecDos, nsExec or ExecWait (these are for console programs). And remove this line from your script:
Quote:
"Only a MouseHelmet will save you from a MouseTrap" -Jason Ross (Me) NSIS 3 POSIX Ninja Wiki Profile |
|
![]() |
![]() |
![]() |
#12 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]() |
![]() |
![]() |
![]() |
#13 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]()
Hi
1-i test this Issue And the result was: Family command "EXEC" not match with Windows 64 Bit And sometimes 86 (32) Bit!.... test: i open a exe file whit command (ExecShell "open" "$R1Photoshop.exe") But Photoshop Process Suspended!.... I TEST AGAIN: i create a bat file whit Internal commands : start /d "$R1" Photoshop.exe and call to bat file in nsis with : ExecShell "open" "s.bat" But Process When start again SUSPENDED! I TEST AGAIN: i open bat file with double click then process run good (normal).... result test : Family command "EXEC" not good work in 64 bit and sometimes 86 (32) Bit systems.... Question: not void a exe file with a dll for start? i think this way worked! But it must be tested. 2-There is another possibility Its This perhaps my exe file is big and exec cant call that good! This could be the reason? thanks to all friends Last edited by r2du-soft; 25th January 2014 at 16:26. |
![]() |
![]() |
![]() |
#14 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
I need a code that is not family EXEC code.
But that code open(run) a file (exe)? Or in any way except code exec...... thanks |
![]() |
![]() |
![]() |
#15 | |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]() Quote:
|
|
![]() |
![]() |
![]() |
#16 |
Senior Member
Join Date: Nov 2013
Location: Iran
Posts: 343
|
![]()
hi
my problem fixed with plug-in (run as user)....! when start a exe file with exec command family in All windows 64 bit then my exec file process suspended! When i use from (ShellExecAsUser plug-in) my problem fixed! and my exe file process run normally.... I used this plug-in: http://nsis.sourceforge.net/ShellExecAsUser_plug-in my code: ShellExecAsUser::ShellExecAsUser "open" '$R1Photoshop.exe' Maybe this code someday Solve you'rs problem Thanks to all the friends of flowers |
![]() |
![]() |
![]() |
#17 |
Moderator
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,356
|
Your English is pretty hard to understand and you keep using the phrase suspended process. A suspended process (suspended thread really) can be created with the suspend parameter when you call CreateProcess() and Process Explorer can also suspend/resume processes but I imagine that you are actually talking about something else...
IntOp $PostCount $PostCount + 1 |
![]() |
![]() |
![]() |
|
Thread Tools | Search this Thread |
Display Modes | |
|
|