There is a bit of a chicken and egg problem in that an executable has to be marked as a console app before it starts, and if you want to launch such an exe without the console popping up, it has to have its process created with the right flags. If your installer can't provide these, it is possible to use a third .exe in between. For example, the Keybase installer launches this small utility, called keybaserq.exe, in order to run persistent console apps in the background with no flashing black windows. It is open source and you can see how the Keybase installer makes use of it - no flashing console windows.
Hi Monks! In unix box when a perl script is running then from the output of ps -ef I can easily determine the name of the perl script which is running (obviously, the path name of the perl script is short enough to see). But in case of windows when a perl script is running, only a Perl.exe is running. I have tried with both task manager and tlist, but both are showing only perl.exe is running.
How can I determine the perl script name which is currently running in Windows box?
Thanks in advance.
Regards
-Pijush
MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).** The third rule of perl club is a statement of fact: pod is sexy.[reply]
[d/l]Re: Re: How can I check which perl script is running in Windows?
by bl0rf (Pilgrim) on Dec 25, 2003 at 20:36 UTCI also suggest proccess explorer from sysinternals ( the link at the end of PodMaster's post ). It allows you to see which filehandles each process has open, perl.exe is bound to have a filehandle on whatever script it is executing.My site[reply]Re: How can I check which perl script is running in Windows?
by Theo (Priest) on Dec 25, 2003 at 23:09 UTCIsn't it also possible to compile a perl script? Then when it's run as an .exe it would show up just like any other executable.(but what do I know?)-Theo-
(so many nodes and so little time ... )[reply]Re: How can I check which perl script is running in Windows?
by pijush (Scribe) on Dec 26, 2003 at 11:10 UTCHi Monks, Thanks PodMaster and all other monks who have replied so quickly. But in my case procexp is not suitable. First, I am telling what is my requirement. On a remote machine one perl script (say test.pl) is running and from another machine I want to detect whether test.pl is running or not on the remote machine.
In this scenario how can I detect whether test.pl is running on remote machine or not ?
I have not tried with par, but now I have started reading about it.
One more query, in UNIX box I can detect whether test.pl is running or not using ps -efgrep test.pl , but it takes time. Is there any way to detect it faster?
Thanks in advance.
-Pijush[reply]Back toSeekers of Perl Wisdom
I've created an application and built an installer via Publish in Visual Studio. I can install the application on my computer but I have to OK the install. However, other users in my company aren't able to install the application at all. They get a message that says: Your administrator has blocked this application because it potentially poses a security risk to your computer. With no option to accept or bypass.
I ran into this issue as well and was unable to find an answer that I was happy with. You can edit the registry to get the application to install, but that is not a reasonable deployment strategy and the registry settings are there to do exactly what they are doing. Prevent unauthorized click once applications from being installed.
We have a code signing certificate that we use to sign our custom applications. When I got the error the first time we noticed that the Publisher was not populated correctly. We had to correct how the signing certificate was used in the project and recompile. I still got the error, but the publisher information was correct this time.
You have the choice to store the cert in the Current User or Local Machine stores. If the app is specific to just one user then the Current User store is fine. Each user opening the application for the first time on each machine would have to go through this process. If all users using the machine would need the application then I would opt for Local Machine. You do need administrative rights to install the cert in the Local Machine store.
When installing the cert it gives you the option for Windows to choose where the cert goes or you can force it to place the cert in a specific store. I tried the automatic option first which did not work. It put the cert in the Other People store. I repeated the process and forced the cert into the Trusted Publishers store and then the application was able to open. I did not experiment with publishing the cert to other stores.
We proactively deploy our code signing certificate to the Local Machine Trusted Publisher store on all appropriate corporate workstations so that our in-house click once apps work for our employees. If you are creating apps for customers outside of your organization you will probably want to get a third party code signing cert. We only use our apps internal to our network so we used our internal certificate authority to create our code signing cert.
Please follow this document: How to: Configure the ClickOnce trust prompt behavior and try to change the Registry setting value of related Zone and Options, by pressing Windows Key + R > type regedit > find the following registry key: \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel (if the key does not exist, create it). Also, please note: registry is very important and modify it carefully without changing other registry items, you can make a backup before changing it.
Is there no easy way to Publish an application so that users can install without getting the "Run anyway?" message or being blocked? Does the Registry have to be changed on every single computer that the application runs on? So when my application runs each time it has to check the Registry and update it to those particular settings?
I'm wanting to deploy an application on my company's intranet that will allow users to install the application and it will check for an update each time they run the application. All without getting annoying security messages popping up each time.
There has to be a tutorial or something that explains the whole process. I've seen some on Microsoft say "Obtain a certificate" but doesn't explain how. And then some refer to some EXE called MakeCert.exe but apparently it's depreciated.
Hi Knox, Thank you for sharing more information. First of all, did you try to reboot your machine after updating the Registry? I think what you mentioned was this: MakeCert, New-SelfSignedCertificate and ClickOnce and Authenticode. Of course you can make a certificate, and as a tip, before installing your application to other machines, you will also need to import this certificate to every machines.
I used to sell software I wrote myself and anti virus and windows defender are a nightmare.
You have to get your software white listed.
On the pc your running on you have to register your software with windows defender to stop it complaining.
This is even after signing the software.