[OT, maybe] - configuring a Windows Installer for a Standalone

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Another deployment PITA.

I’ve got a standalone which is cross-platform and works well on Mac and PC. Unfortunately I’m having a lot of trouble with making a viable Windows Installer, using the Inno system. All goes well with the installation process until the user checks “launch” for the app at the end of the installation process. He/she then gets and error message (this is on both Windows 7 and Windows 10):

> C:/Program Files\Myprogram\Myprogram.exe
>
> CreateProcess failed: code 740
> The requested operation requires elevation

I have no idea even conceptually of what elevation means, and I have no idea how to correct this situation.

Since the installed program will run perfectly from an installed desktop shortcut, I would even be content if I could suppress the “launch” option in the installer, but I don’t know how to do that either - there is nothing obvious in the Inno documentation.

Can anyone who is more Windows-savvy than me (that’s most of the population) please help?

TIA

Graham
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Elevation is a security feature of Windows since Vista I believe. Even though you log in with what you might think is an administrator account, the actual session user does NOT have Administrative rights. Anything that user does only has standard user rights. UAC (user access control) must be invoked to elevate the current process rights. For a non-administrator a dialog will popup asking for a name and password. For an administrator, it will simply present a Yes/No dialog.

If you get the properties of the Windows executable, there is a Compatibility tab. You may be able to uncheck Run this program as an administrator (but then you won't be able to do anything requiring administrator access) or you can try running in Windows XP Compatibility mode (if Windows 10 even supports that anymore.) You will have to do this before building the installer, or else there may be a feature in the Inno packager which allows you to set this.

Bob S


> On Apr 4, 2018, at 14:21 , Graham Samuel via use-livecode <[hidden email]> wrote:
>
> Another deployment PITA.
>
> I’ve got a standalone which is cross-platform and works well on Mac and PC. Unfortunately I’m having a lot of trouble with making a viable Windows Installer, using the Inno system. All goes well with the installation process until the user checks “launch” for the app at the end of the installation process. He/she then gets and error message (this is on both Windows 7 and Windows 10):
>
>> C:/Program Files\Myprogram\Myprogram.exe
>>
>> CreateProcess failed: code 740
>> The requested operation requires elevation
>
> I have no idea even conceptually of what elevation means, and I have no idea how to correct this situation.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Hmm, thanks for the discussion. I see that it is not a straightforward issue, and I am probably forced to get my hands dirty in the world of Windows. I am aching for a very simple set of step-by-step instructions, but of course that is not the job of anyone on this list! BTW, I am also asking in the Inno Setup forum, and have had some replies, but despite my references to LiveCode, it appears that nobody there can believe I’m not using Visual Basic or C++. There is dark talk of manifests, about which I know nothing, but maybe I can piece together an idiot’s solution.

I must say I am astonished that I am the only person seeing this (apparently). I was seeking almost the simplest possible installer for an LC Windows standalone. The only thing that isn’t simple is that as it’s a splashstack design, there has to be a folder with the other components (stacks and the like) rather than one simple .exe file in the \Programs folder. Probably not relevant.

I feel I am still bumping around in the dark. When I die, you will find “LiveCode deployment” written on my heart.

Graham

> On 4 Apr 2018, at 23:51, Bob Sneidar via use-livecode <[hidden email]> wrote:
>
> Elevation is a security feature of Windows since Vista I believe. Even though you log in with what you might think is an administrator account, the actual session user does NOT have Administrative rights. Anything that user does only has standard user rights. UAC (user access control) must be invoked to elevate the current process rights. For a non-administrator a dialog will popup asking for a name and password. For an administrator, it will simply present a Yes/No dialog.
>
> If you get the properties of the Windows executable, there is a Compatibility tab. You may be able to uncheck Run this program as an administrator (but then you won't be able to do anything requiring administrator access) or you can try running in Windows XP Compatibility mode (if Windows 10 even supports that anymore.) You will have to do this before building the installer, or else there may be a feature in the Inno packager which allows you to set this.
>
> Bob S
>
>
>> On Apr 4, 2018, at 14:21 , Graham Samuel via use-livecode <[hidden email]> wrote:
>>
>> Another deployment PITA.
>>
>> I’ve got a standalone which is cross-platform and works well on Mac and PC. Unfortunately I’m having a lot of trouble with making a viable Windows Installer, using the Inno system. All goes well with the installation process until the user checks “launch” for the app at the end of the installation process. He/she then gets and error message (this is on both Windows 7 and Windows 10):
>>
>>> C:/Program Files\Myprogram\Myprogram.exe
>>>
>>> CreateProcess failed: code 740
>>> The requested operation requires elevation
>>
>> I have no idea even conceptually of what elevation means, and I have no idea how to correct this situation.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Just poking around, a manifest is like a config file for the app. As I mentioned, your installer maker solution may have a way to configure one. If not, apparently there are solutions that allow you to post process your executable to include one.

Also worth considering, in the Windows tab of the Standalone Application Settings, at the bottom of the window is a popup menu for UAC settings. Unless your app will require Administrative Access to the file system, I would set this to Same as Invoker. Apparently this wil create some kind of manifest. Also, the app will run with the same permissions as the caller. This should prevent Windows from thinking the app must be run as an administrator.

Bob S


> On Apr 5, 2018, at 06:58 , Graham Samuel via use-livecode <[hidden email]> wrote:
>
> Hmm, thanks for the discussion. I see that it is not a straightforward issue, and I am probably forced to get my hands dirty in the world of Windows. I am aching for a very simple set of step-by-step instructions, but of course that is not the job of anyone on this list! BTW, I am also asking in the Inno Setup forum, and have had some replies, but despite my references to LiveCode, it appears that nobody there can believe I’m not using Visual Basic or C++. There is dark talk of manifests, about which I know nothing, but maybe I can piece together an idiot’s solution.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Woo! That looks promising! Will try it - have to go babysitting now, but soon enough…

Thanks

Graham

> On 5 Apr 2018, at 15:46, Bob Sneidar via use-livecode <[hidden email]> wrote:
>
> Just poking around, a manifest is like a config file for the app. As I mentioned, your installer maker solution may have a way to configure one. If not, apparently there are solutions that allow you to post process your executable to include one.
>
> Also worth considering, in the Windows tab of the Standalone Application Settings, at the bottom of the window is a popup menu for UAC settings. Unless your app will require Administrative Access to the file system, I would set this to Same as Invoker. Apparently this wil create some kind of manifest. Also, the app will run with the same permissions as the caller. This should prevent Windows from thinking the app must be run as an administrator.
>
> Bob S
>
>
>> On Apr 5, 2018, at 06:58 , Graham Samuel via use-livecode <[hidden email]> wrote:
>>
>> Hmm, thanks for the discussion. I see that it is not a straightforward issue, and I am probably forced to get my hands dirty in the world of Windows. I am aching for a very simple set of step-by-step instructions, but of course that is not the job of anyone on this list! BTW, I am also asking in the Inno Setup forum, and have had some replies, but despite my references to LiveCode, it appears that nobody there can believe I’m not using Visual Basic or C++. There is dark talk of manifests, about which I know nothing, but maybe I can piece together an idiot’s solution.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
In reply to this post by Mike Bonner via use-livecode
On Wed, Apr 4, 2018 at 4:21 PM, Graham Samuel via use-livecode <
[hidden email]> wrote:

>
> I’ve got a standalone which is cross-platform and works well on Mac and
> PC. Unfortunately I’m having a lot of trouble with making a viable Windows
> Installer, using the Inno system. All goes well with the installation
> process until the user checks “launch” for the app at the end of the
> installation process. He/she then gets and error message (this is on both
> Windows 7 and Windows 10):
>
> > C:/Program Files\Myprogram\Myprogram.exe
> >
> > CreateProcess failed: code 740
> > The requested operation requires elevation
>

Have you tried adding the following configuration option to your .iss file?

PrivilegesRequired=admin

If not then give it a try.

--
Trevor DeVore
ScreenSteps
www.screensteps.com
_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Treor, thanks, will try it. I despise myself for my ignorance here, but it is very hard to get an easy path to understanding, especially since both the vocabulary and logic seem so alien.

Anyway I appreciate all the help I’ve been getting.

Graham

> On 6 Apr 2018, at 03:26, Trevor DeVore via use-livecode <[hidden email]> wrote:
>
> On Wed, Apr 4, 2018 at 4:21 PM, Graham Samuel via use-livecode <
> [hidden email]> wrote:
>
>>
>> I’ve got a standalone which is cross-platform and works well on Mac and
>> PC. Unfortunately I’m having a lot of trouble with making a viable Windows
>> Installer, using the Inno system. All goes well with the installation
>> process until the user checks “launch” for the app at the end of the
>> installation process. He/she then gets and error message (this is on both
>> Windows 7 and Windows 10):
>>
>>> C:/Program Files\Myprogram\Myprogram.exe
>>>
>>> CreateProcess failed: code 740
>>> The requested operation requires elevation
>>
>
> Have you tried adding the following configuration option to your .iss file?
>
> PrivilegesRequired=admin
>
> If not then give it a try.
>
> --
> Trevor DeVore
> ScreenSteps
> www.screensteps.com
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
In reply to this post by Mike Bonner via use-livecode
I think the problem he has is that the executable is already set to launch as admin and ar runtime he is not elevated.

Bob S


> On Apr 5, 2018, at 19:26 , Trevor DeVore via use-livecode <[hidden email]> wrote:
>
> Have you tried adding the following configuration option to your .iss file?
>
> PrivilegesRequired=admin
>
> If not then give it a try.
>
> --
> Trevor DeVore
> ScreenSteps
> www.screensteps.com


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
In reply to this post by Mike Bonner via use-livecode
This all came about because with XP, if you logged in as an administrator account, any process that launched in that session ALSO ran as an administrator, which meant that it could modify system files. It was like a petri dish for malware. Just clicking to preview an email could ruin your day.

Apple already had a mechanism where processes that attempted to install or modify protected files or folders would invoke a User/Pass auth dialog, so Microsoft decided to mimic that, but since they didn't have the mechanisms built into Unix for that, the developed this dual level auth system where an administrator account was merely a standard user that COULD be elevated to administrative level, where as other accounts could not. In those cases, a user/pass challenge dialog is presented so the candidate process could be run as though a real administrator account had invoked it.

It's a pain in the arse sometimes, but it isn't difficult to understand what it is and why it's necessary.

Bob S


> On Apr 6, 2018, at 24:52 , Graham Samuel via use-livecode <[hidden email]> wrote:
>
> Treor, thanks, will try it. I despise myself for my ignorance here, but it is very hard to get an easy path to understanding, especially since both the vocabulary and logic seem so alien.
>
> Anyway I appreciate all the help I’ve been getting.
>
> Graham

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
In reply to this post by Mike Bonner via use-livecode
Babysitting over, tried it, it works!

Thanks a million.

BTW Trevor’s suggestion of

> PrivilegesRequired=admin

didn’t work, and didn’t even get the install process to ask the user to change the privileges, which surprised me, but then I know nothing.

Thanks for all the patient readers that helped with this.

Graham

I wrote:

> Woo! That looks promising! Will try it - have to go babysitting now, but soon enough…
>
> Thanks
>
> Graham
>
>> On 5 Apr 2018, at 15:46, Bob Sneidar via use-livecode <[hidden email]> wrote:
>>
>> Just poking around, a manifest is like a config file for the app. As I mentioned, your installer maker solution may have a way to configure one. If not, apparently there are solutions that allow you to post process your executable to include one.
>>
>> Also worth considering, in the Windows tab of the Standalone Application Settings, at the bottom of the window is a popup menu for UAC settings. Unless your app will require Administrative Access to the file system, I would set this to Same as Invoker. Apparently this wil create some kind of manifest. Also, the app will run with the same permissions as the caller. This should prevent Windows from thinking the app must be run as an administrator.
>>
>> Bob S
>>
>>
>>> On Apr 5, 2018, at 06:58 , Graham Samuel via use-livecode <[hidden email]> wrote:
>>>
>>> Hmm, thanks for the discussion. I see that it is not a straightforward issue, and I am probably forced to get my hands dirty in the world of Windows. I am aching for a very simple set of step-by-step instructions, but of course that is not the job of anyone on this list! BTW, I am also asking in the Inno Setup forum, and have had some replies, but despite my references to LiveCode, it appears that nobody there can believe I’m not using Visual Basic or C++. There is dark talk of manifests, about which I know nothing, but maybe I can piece together an idiot’s solution.
>>
>> _______________________________________________
>>

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode


> Am 10.04.2018 um 17:57 schrieb Graham Samuel via use-livecode <[hidden email] <mailto:[hidden email]>>:
>
> Babysitting over, tried it, it works!
>
> Thanks a million.
>
> BTW Trevor’s suggestion of
>
>> PrivilegesRequired=admin
>

So if it´s working now with that setting and did not work w/o it then that might be a bug in Innnosetup.
According to the docs of Innosetup this is the default setting and therefore  does not need to be specified.


Graham, did you try InstaMaker? And if so, did this happen with an Installer created with InstaMaker also?


I will add that setting in InstaMaker anyway. Just to make sure.

Matthias




_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
I think he is saying that PrivilegesRequired=admin DOESN'T work, as I suspected. There is no point to running a Windows app as an administrator unless it is capable of modifying system files or altering settings only an admin can modify. By settings the UAC level to Same as Invoker (which IMHO ought to be the default) it worked for him. At least that is what I got from his email.

Bob S


> On Apr 10, 2018, at 09:10 , Matthias Rebbe via use-livecode <[hidden email]> wrote:
>
> So if it´s working now with that setting and did not work w/o it then that might be a bug in Innnosetup.
> According to the docs of Innosetup this is the default setting and therefore  does not need to be specified.

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
Hi Bob

Yes, your interpretation is right. InnoSetup didn’t mind the line PrivilegesRequired line (no error flagged up) but the behaviour of the final step of the installation - launch the app - gave the same error as before. But modifying the Standalone Settings as you suggested did the trick. I agree with your opinion of the UAC default. What I don’t understand is why there haven’t been more complaints about this. Heaven knows, it’s a pretty obscure and irritating process (creating installers for OS’s that one doesn’t know intimately) but you’d think others would have had the same problems as I did.

Graham

> On 10 Apr 2018, at 17:18, Bob Sneidar via use-livecode <[hidden email]> wrote:
>
> I think he is saying that PrivilegesRequired=admin DOESN'T work, as I suspected. There is no point to running a Windows app as an administrator unless it is capable of modifying system files or altering settings only an admin can modify. By settings the UAC level to Same as Invoker (which IMHO ought to be the default) it worked for him. At least that is what I got from his email.
>
> Bob S
>
>
>> On Apr 10, 2018, at 09:10 , Matthias Rebbe via use-livecode <[hidden email]> wrote:
>>
>> So if it´s working now with that setting and did not work w/o it then that might be a bug in Innnosetup.
>> According to the docs of Innosetup this is the default setting and therefore  does not need to be specified.
>
> _______________________________________________
> use-livecode mailing list
> [hidden email]
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
Reply | Threaded
Open this post in threaded view
|

Re: [OT, maybe] - configuring a Windows Installer for a Standalone

Mike Bonner via use-livecode
In reply to this post by Mike Bonner via use-livecode
Hi Matthias

I stopped trying to use InstaMaker some time ago, but I’m sorry to say I can’t remember why - maybe I was just worried that as things were not working, there were too many variables for me to cope with. The reason I’ve forgotten is that I have had a pause in my development work (there is life outside LC, as I am now and then reminded by my nearest and dearest). Anyway I hope to try InstaMaker again shortly.

Graham

> On 10 Apr 2018, at 17:10, Matthias Rebbe via use-livecode <[hidden email]> wrote:
>
> Graham, did you try InstaMaker? And if so, did this happen with an Installer created with InstaMaker also?
>
>
> I will add that setting in InstaMaker anyway. Just to make sure.
>
> Matthias

_______________________________________________
use-livecode mailing list
[hidden email]
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode