My goal is to run both IE 32 & 64 bit driver simultaneously.
Earlier i used only 32 bit IEdriver server , so i added the IEDriverserver as an embedded resource inside the executable. Now since i have two(both 32 & 64) IEdriverserver and since .net selenium bindings require the name to be standard(IEdriverserver).
Once way is to download the zip and place both drivers into two separate folder paths(but that would be my last option)
Using different paths is the correct way to go here. That's the way the executable was originally designed.
Also, you should be aware that embedding an executable as a resource and extracting it at runtime is begging to have your application flagged by anti malware products as suspicious. Libraries like .dlls are less likely to be so flagged, but .exes are often problematic.
Related
I am new in JavaCard development, and I am quite confused.
I am able to compile, load and install .cap files, and everything works fine.
However, after compiling my WebApplication (with NetBeans), I am not sure how to load/convert/install the produced .war file to the card.
Any help much appreciated!
edit:
I realized I should had provided more info:
My card is: J2E145G, which if I am not mistaken supports version 3.0 (and hence is the "connected" edition?). Additionally, I am loading applets using GlobalPlatform, which it seems that supports only .cap files(?)
I presume J2E145G (I'm not sure about the G, I can check later) contains the P5Cx family of products of NXP. These cards sport 8 KiB of RAM and are therefore incapable of running the connected edition, which requires 24 to 32 KiB of RAM.
These kind of humongous chips (for smart card standards anyway) are usually found on contact only cards. To say that connected edition chips are not common is probably taking it lightly.
I have an ActiveX control which needs to be deployed in client machine and i am planning to do this by supplying installers to the clients .
I have made separate msi packages for 64 and 32 bit operating systems and it works properly.
However , i face a problem when it comes to 64 bit machines since i have the following requirement ,
In case of 32 bit machine install 32 bit ActiveX control.
In case of 64 bit machine install both 32 and 64 bit ActiveX control.
I read many articles stating hybrid installations cannot be done using basic msi installers ?
Can this be done using a single setup.exe file ?
A single MSI cannot both install files or registry to 64-bit locations on a 64-bit system and run on a 32-bit system. So assuming your 64-bit ActiveX control must be installed to or registered in a 64-bit location, you cannot do this in a single MSI.
If you have the premier edition of InstallShield 2012, this is one of the use cases of the Suite (or Suite/Advanced UI) project type. You must create two MSI files, and include them both in the suite with relevant eligibility conditions. (The exact conditions depend on whether you make the MSIs standalone or cumulative, but the 64-bit MSI should only be eligible if the platform has an architecture of x64.)
You can have both 32bit and 64bit components within a single installer and make it to decide what to install depending on the target platform as below.
1) Create two new features(one for 32 and one for 64) and add conditions to both of them.
for 32 bit -> Not VersionNT64
for 64 bit -> VersionNT64
2) Add both prerequisites and select appropriate (parent) feature for each one
Windows Web Server 2008 R2 (x64) &
.Net Framework 4.5
It is a classic ASP.Net Web Site (Not a web project, code is in App_Code directory and compiled when the site is being launched)
And it depends on many reference DLLs in /Bin directory.
For those DLLs I have source code, I compile them targeted as "x64" platform.
And I have some other DLLs without source code (mysql.data.dll / etc), which are compiled as "Any CPU".
I modified them in EditBin.exe to ensure the IMAGE_FILE_LARGE_ADDRESS_AWARE flag is indicated in their PE header.
According to this table:
http://msdn.microsoft.com/en-us/library/aa366778%28VS.85%29.aspx#memory_limits
x64 process can't use more than 2GB memory unless IMAGE_FILE_LARGE_ADDRESS_AWARE is set.
How can I verify whether it works?
Is there any place I can see the memory limitation of running x64 process?
I don't know if you can actually "see the memory limitation" explicitly stated (assuming you don't trust MS's own documentation that you cited) other than getting your hands on and digging into the IIS and/or ASP.NET source code.
That being said, you could try stress testing the site, and monitor memory consumption (via Task Manager or Process Monitor), to see if it exceeds 2GB. I would recommend tinyget, part of the IIS 6 Resource Kit, which can still be used with IIS 7.
tinyget -svr:localhost -uri:/<your site> -loop:200 -threads:20
You'll have to play with the loop and thread count to try to push it over 2GB. I would expect to see an System.OutOfMemoryException as you approach about 1.4GB of combined physical and virtual private bytes. You may want to create a stress test function in the site itself, for testing purposes only of course, which will help you reach this limit, by using the exact opposite of good practices. You can read more about what would lead to an System.OutOfMemoryException` here, and then do things they recommend against. For example, add a test method that just concatenates strings in a very large loop.
try procexp, from sysinternals here. This application can monitor .NET specific metrics.
Nevertheless, according to your link, you should be able to address at least 8GB.
Please keep in mind that enforcing the IMAGE_FILE_LARGE_ADDRESS_AWARE is irrelevant in your case. You could have all your components compiled to target "Any CPU", the only flag that is checked is the flag of the executable file.
I am working on an application targeted to Mac OSX 10.6+ using Qt 4.7.4
I have a folder with as much as 1000 files + and some or many or even all of these files may be renamed or moved or deleted, so I want to report to my application if:
File is renamed (report original and renamed filename)
Folder renamed (report original and renamed folder name)
File/folder is deleted (just report it as deleted)/moved (report the moved location)
PROBLEM: is the underlying system may (its MAY) only allow 256 descriptors to be monitored so at most 256 files! How can I over come this?
Note: used QFileSystemWatcher interface (it has the above stated problem)
ALSO : How to handle in case of version lower than OSX 10.5
Do mention how do i get renamed filename/foldername
From the QFileSystemWatcher docs:
On Mac OS X 10.4 and all BSD variants, for example, an open file descriptor is required for each monitored file. Some system limits the number of open file descriptors to 256 by default. This means that addPath() and addPaths() will fail if your process tries to add more than 256 files or directories to the file system monitor. Also note that your process may have other file descriptors open in addition to the ones for files being monitored, and these other open descriptors also count in the total. Mac OS X 10.5 and up use a different backend and do not suffer from this issue.
So you should not need to worry about this at all in your case.
QFileSystemWatcher doesn't provide the information you requested in your edit. It will emit signals when one of the paths it monitors changes, but in case of a rename, you won't get the new name. It's intended more for things like file manager programs that will just update/reload their current view on receipt of such events.
If you need more information than that, you'll need to use OS specific APIs. You can look at the code Qt uses for different platforms in the Qt source. It's in src/core/io/qfilsystemwatcher_*.[h|cpp].
For Mac OS X 10.5 or greater, the underlying API used is the FSEvents API. You can read in the Technology Overview page:
The important point to take away is that the granularity of notifications is at a directory level. It tells you only that something in the directory has changed, but does not tell you what changed.
So that OS-level API doesn't provide what you want either directly.
For older versions of Mac OS X and FreeBSD, Qt uses the kqueue API, with the EVFILT_VNODE event filter. That API doesn't provide the new name of a renamed file either.
In short, either you'll need to code something yourself based on one of those APIs, find a library that does it (with guarantees that meet your needs), or you'll need to redesign your application. "Watching" a directory in a portable manner is at best very tricky, and generally race- and error-prone. If I were you, I wouldn't be too optimistic especially if your design requires that no "event" be missed.
Looking for help to build a 32/64 bit installer. I've looked for help here already, found some from Mithriel but unfortunately I'm very new to editing registry keys.
I replied to his answer and posted my script but a Mod removed it. I apologize for any gap in etiquette.
I'm using InnoIDE to develop my installer. Essentially I just want it to be able to detect the chipset architecture and then load in the appropriate registry values.
From what I understand it looks like many are creating a parent installer that runs two other installer (one for 32 and 64 respectively). That's great but the files I will be copying to the install directory are about a GB. I can't really have those files
duplicated obviously.
I'm also looking for a way to delete a folder on install as well.
I can post script/email it to anyone willing to help me out.
J.
A little bit on "why" there is a need for a 32/64-bit installer. This doesn't answer the question, but has evolved too large for a comment. See the other comments in the original post.
The "problem" with using a 32-bit installer for a 64-bit application (and vice-versa) is due to Windows Registry Virtualization.
A 32-bit installer will (unless it uses special flags when writing to the registry write to the "32-bit view" of the registry and the application will see the "64-bit view"). If the application itself only runs in 32-bit then this doesn't matter and only a 32-bit installer is needed, of course. Like wise, if it only runs in 64-bit then only a 64-bit version of the installer is needed.
Happy coding.
while using inno setup i found a problem to writte to the 64 bits registery it seems that is differnet instruction while writting on 32 bits.
so it need more search and i will not got stocked for this.
Without being more specific with the question, the registry section of the documentation includes specific constants for 32- and 64-bit registry options. For example, see this section:
The values may have a suffix of 32 or 64. Root key values with a
suffix of 32 (for example, HKLM32) map to the 32-bit view of the
registry; root key values with a suffix of 64 (for example, HKLM64)
map to the 64-bit view of the registry.
Make a set of registry entries for each bit-ness, and in each entry, specify the the 32- or 64-bit registry root, and add a Check: IsWin64 parameter for the 64-bit registry entries. You should be able to invert that check on the 32-bit entries.