This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- EULA Scrolling on 64-bit
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 29, 2009
01:57 PM
EULA Scrolling on 64-bit
Hi,
I am trying to use the Eula scrolling feature in my project.I followed all the steps mentioned and it seems to work in 32 bit machines. Do I have to do something different to get it working on 64 bit.
Thanks in Advance.
I am trying to use the Eula scrolling feature in my project.I followed all the steps mentioned and it seems to work in 32 bit machines. Do I have to do something different to get it working on 64 bit.
Thanks in Advance.
(17) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jun 30, 2009
12:50 PM
It appears Win64 needs a 64-bit build of the EulaScrollWatch.dll. I've filed IOC-000082066 to track this, and I'll try to get an early build of the file posted here as soon as possible.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 01, 2009
09:19 AM
Will this update be posted here?
Thanks!
Thanks!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 01, 2009
01:08 PM
Here's a preliminary rebuild of these files, including an x64 version. They go where you'd probably expect, under Redist\Language Independent, and are then separated into folders by platform, as they have the same name. After you get this file in place, you'll have to modify the original steps for the scroll watcher slightly; let me know if these summarized instructions are not enough.
Create a second custom action WatchScroll64 which refers to the new x64 .dll file, but is otherwise identical to WatchScroll.
Tweak the condition of the DoAction event to add the conditional clause AND NOT VersionNT64.
Add a second DoAction event, nearly identical to the first, which calls WatchScroll64, and uses the opposite additional clause AND VersionNT64.
Create a second custom action WatchScroll64 which refers to the new x64 .dll file, but is otherwise identical to WatchScroll.
Tweak the condition of the DoAction event to add the conditional clause AND NOT VersionNT64.
Add a second DoAction event, nearly identical to the first, which calls WatchScroll64, and uses the opposite additional clause AND VersionNT64.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 01, 2009
04:29 PM
Michael,
Thanks a lot for the quick turnaround.
The new dll for the 64 bit machines worked fine.
Thanks again
Thanks a lot for the quick turnaround.
The new dll for the 64 bit machines worked fine.
Thanks again
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 02, 2009
09:45 AM
Ditto on thanks and turn-around.
Works great and in cursory testing I couldn't make it fail. Thanks a ton.
Regarding the instructions, they work fine, but the following may help a tiny bit (especially to newer IS users...)
Clone the custom action WatchScroll and name the new custom action WatchScroll64. In the DLL Filename field, refer to the new x64 .dll file. Make no other changes to this custom action.
From the Dialogs interface, open the LicenseAgreement Behavior and select the ScrollableText control. Tweak the condition of the DoAction event to add the conditional clause:
AND NOT VersionNT64.
Add a second DoAction event, nearly identical to the first, which calls WatchScroll64, and uses the opposite additional clause:
AND VersionNT64.
Something like that. Thanks again, good stuff!
Works great and in cursory testing I couldn't make it fail. Thanks a ton.
Regarding the instructions, they work fine, but the following may help a tiny bit (especially to newer IS users...)
Clone the custom action WatchScroll and name the new custom action WatchScroll64. In the DLL Filename field, refer to the new x64 .dll file. Make no other changes to this custom action.
From the Dialogs interface, open the LicenseAgreement Behavior and select the ScrollableText control. Tweak the condition of the DoAction event to add the conditional clause:
AND NOT VersionNT64.
Add a second DoAction event, nearly identical to the first, which calls WatchScroll64, and uses the opposite additional clause:
AND VersionNT64.
Something like that. Thanks again, good stuff!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 17, 2009
10:05 AM
WatchScroll64 does not work with Windows 7 (I've not tested the 32 bit version). The same .msi works with 64 bit Vista and XP, but not Win7. You can get the .msi to work by running it in Compatibility mode.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 24, 2009
12:53 PM
WatchScroll64 does not work with Windows 7 (I've not tested the 32 bit version). The same .msi works with 64 bit Vista and XP, but not Win7. You can get the .msi to work by running it in Compatibility mode
Can someone at Flexera please respond to this?
Can someone at Flexera please respond to this?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 30, 2009
11:06 AM
We haven't been able to reproduce the issue. In our tests, WatchScroll64 works with 64-bit Windows 7 without the compatibililty mode.
Can you post a sample that reproduces the issue?
Thanks!
Can you post a sample that reproduces the issue?
Thanks!
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 02, 2009
02:23 PM
It may be quicker if you were to send your sample to me. Would that be possible?
Thanks
Thanks
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 15, 2009
09:02 AM
Well, I guess sending the test project was a bit too much to ask.
I did some more testing on my own and here's the deal...
When you run the MSI from the IS2010 UI (click on either the Test User Interface or Run buttons) the button will not go active. If you run the MSI outside of IS2010, it works just fine. Same MSI, same workstation, weird.
I did some more testing on my own and here's the deal...
When you run the MSI from the IS2010 UI (click on either the Test User Interface or Run buttons) the button will not go active. If you run the MSI outside of IS2010, it works just fine. Same MSI, same workstation, weird.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Aug 05, 2010
11:44 AM
The same thing happens when an MSI project is built as and EXE (Setup.exe). EULAScrollWatcher works fine on 32 bit OS's but not on 64 bit systems. If the same project is compiled as an MSI it works correctly in 32 and 64 bit environments.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 07, 2010
01:24 PM
I have tested this on windows 7 machine and the "Next" button never gets enabled no matter how I scroll the text. I am using a single setup.exe file. Is there a way to get this to work on a setup.exe?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Sep 08, 2010
06:21 AM
Here's the latest response that I received from Flexerror support on this issue:
Setup.exe launches either the 32 or 64 bit version of MsiExec on a 64 bit machine depending on the template summary of the MSI. If the MSI is not marked as X64 then the 32 bit version of MsiExec is used to launch the msi. This means that the Eula Watching custom actions will be 32 bit processes and this causes an issue if you use the 64 bit version of the dll.
One way to work around this is to determine on a 64 bit machine if you are running as a WOW64 process and if so launch the 32 bit dll rather than the 64 bit. The following code worked successfully in my tests to determine if you are running in WOW64 process:
HWND hWndParentWindow = FindWindow(_T("MsiDialogCloseClass"), NULL);
DWORD dwProcessId;
GetWindowThreadProcessId(hWndParentWindow, &dwProcessId);
HANDLE hOwningProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, FALSE, dwProcessId);
BOOL bIsWow64 = FALSE;
IsWow64Process(hOwningProcess,&bIsWow64);
if(bIsWow64)
MsiSetProperty(hInstall,"ISWOW64","1");
CloseHandle(hOwningProcess);
hWndParentWindow=NULL;
I have submitted a work order to the development team to have this problem addressed with a code fix on our side. At this point there is no time frame information available for this request but as soon as there is are any further details I will contact you immediately.
One way to work around this is to determine on a 64 bit machine if you are running as a WOW64 process and if so launch the 32 bit dll rather than the 64 bit. The following code worked successfully in my tests to determine if you are running in WOW64 process:
HWND hWndParentWindow = FindWindow(_T("MsiDialogCloseClass"), NULL);
DWORD dwProcessId;
GetWindowThreadProcessId(hWndParentWindow, &dwProcessId);
HANDLE hOwningProcess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_VM_READ, FALSE, dwProcessId);
BOOL bIsWow64 = FALSE;
IsWow64Process(hOwningProcess,&bIsWow64);
if(bIsWow64)
MsiSetProperty(hInstall,"ISWOW64","1");
CloseHandle(hOwningProcess);
hWndParentWindow=NULL;
I have submitted a work order to the development team to have this problem addressed with a code fix on our side. At this point there is no time frame information available for this request but as soon as there is are any further details I will contact you immediately.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Oct 18, 2010
09:00 AM
Thanks for the quick response and sorry for being slow to view your answer. I'm not sure where to put this code to try it out.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Nov 22, 2010
09:47 PM
I'm very new to InstallShield. I've been playing around with this and included the code in an install script function. But while building, multiple errors are thrown such as "HWND invalid statement" and "IsWow64Process undefined indentifier". Any additional information would be appreciated.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Dec 09, 2010
01:21 PM
I tried placing this in a VBScript file and add it as the first action in custon actions, but still no luck. Any ideas?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 31, 2015
07:37 AM
I have the custom action and the conditions for enable/Disable EULA page Next button. It works fine a English OS, but doesn't work on Chinese OS. Any help would be really appreciated.