InstallShield 2010 with license - no license for automatic build system (CI) as Windows service - build-process

I really need help here.
We are using CI build-process (Hudson) as an automated build system using Msbuild.
The CI run in Apache Tomcat 6 that run under the credentials of a domain user (not a local Windows user ).
Every time the CI try to build an InstallShield project (using isproj files) we get a license error message:
" C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): error : -7159: The product license has expired or has not yet been initialized. You must launch the IDE to configure the product license in order to proceed.
C:\Program Files\MSBuild\InstallShield\2010\InstallShield.targets(62,3): error : Exception Caught".
If I log in to the same machine with the same domain user credentials and build the InstallShield project there is a license and it is working well.
Adding the user to the local Users group doesn't help (no license).
Adding the user to the local Administrators group helps and it is working.
We do not want the user to be in the local Administrators group - for various reasons.
What do I need to do to make it work?
Do I need to add permissions to the use?
Help will be highly appreciated.
Gilad

Is your build calling isSaBld.exe or isCmdBld.exe? InstallShield changed their policy in 2010 so that the standalone build functionality (isSaBld) is only available with a top-tier license. In previous versions it was usable in Pro too. Maybe this has something to do with it?
We have a similar build system - Hudson in tomcat 6, IS2010, but with Ant scripts - and calling IsCmdBld.exe is working for us.

If you are using Hudson as a service, try running the service as an administrator. But you need to make sure the administrator succees to build the project from the InstallShield IDE first.

We do not want the user to be in the local Administrators group
To my knowledge there is no way around this requirement. InstallShield's product licensing runs low-level system checks that require that the running user be in the Administrators group to succeed. That's why when you start the InstallShield IDE the UAC prompt appears. That way they can verify that the license they granted you hasn't been moved to a different machine. Without being privy to exactly how they do this, imagine e.g. direct disk sector access, CPU serial number reads, hard drive firmware access, etc. You just can't do those things without Admin rights.
However to ensure that every build can be reproduced, a build machine should be sacrosanct, and access to it should only be granted to trusted build users. It's standard for them to be Administrators on the build machine.
Can you give more details about why you need to keep the user from being an Administrator? That would enable us to give you better input.

Related

Desktop Windows's apps created using QT need admin rights

I created desktop app for Windows (running mostly on Win 10) using QT libraries. Explicitly in my code, I don't perform any operations that require administrator rights, especially writing to "Program Files" etc - application uses local app data folder structure (I double checked this going deeper and deepr into this matter).
In my manifest file application also doesn't need admin privileges (it's as invoker).
However, my application still requires admin rights to run.
My question is not about how to solve my specific case, because I established that it's because deep dependencies hidden in QT libs to Windows API and these calls often require admin rights in case of operations that seem to not exactly need it like drag & drop or network connection with specific IP address.
I followed it using Microsoft Standard User Analyzer (SUA) tool on my executable.
I'm putting here example log from SUA investigation:
In detailed info for pos. 1-2 I can see it's because:
However for 3rd position, it is even more complex problem related to PROCESS_QUERY_INFORMATION access allowed only by elevated processes. Example stack trace (one of many many more):
Summarizing - my question:
You can believe me that I don't perform any operations that require admin rights from "normal", common sense point of view. Moreover my customer have old application written in .NET env that doesn't need admin rights and does the same things in general (I mean nothing "special").
What is a general way to overcome such problems with QT development environment?
Or using QT everyone takes a risk that the application mostly will require admin rights?

Is Windows IExpress Still exposes Vulnerability?

I am trying to use I Express and I came across an article stating that it has some vulnerability.
Here is the link: https://en.wikipedia.org/wiki/IExpress.
This is the message from the link:
Security
The self-extracting packages created with IExpress have (inherent) vulnerabilities which allow arbitrary code execution because of the way they handle their installation command and their command line processing.[4][5] Additionally, because of the way Windows User Account Control handles installers, these vulnerabilities allow a privilege escalation.[6][7]
Because Hackers can make a inf. file and if you cilck it, the hacker have full control over your computer. And move one good file to a folder u cant find and make a new one, rename it (Microsoft Edge,File Explorer,etc).

How to create about 60 users with installation power in remote linux webserver?

We are about 60 students in our class. Our course teacher provide a remote pc that have public IP. He suggested us to host our web projects on that machine. So, we have to need about 60 user on that machine so that each one can able to access his/her data, modify, remove, install new software etc.
That also be possible making a admin. So that admin can install any software. But problem is when admin have to manage all users requests to installing new software it is burden for admin because man have different choice.
So, we want to make about user so that each user can customize his/her environment easily.
Please give me the idea and solution on this situation.
I will add the system configuration of the machine after knowing from my teacher. As far I know the RAM is 64GB.
Admin user is always present in every Linux installation - that will be your teacher. To add a user, use adduser command: https://www.debian.org/doc/manuals/debian-handbook/sect.creating-accounts.en.html
To connect, following link may be helpful: https://openvpn.net/index.php/access-server/docs/admin-guides/182-how-to-connect-to-access-server-with-linux-clients.html
There should not be any problem in creating web projects on your own machine and them hosting them on the central server.
On Linux desktops, one needs to provide superuser (admin) password to install and remove applications to the system (see https://www.wikihow.com/Install-Software-in-Debian-Linux ). However, one can manually install and run portable applications from one's own home directory (e.g. /home/user_a ).
For portable Linux applications see: https://www.maketecheasier.com/portable-apps-for-linux/ and https://appimage.org/ . They can be installed and run without need for admin privileges.
ISPconfig ( https://www.ispconfig.org/ ) looks good but I do not have any experience with it. Other similar tools may also be of interest to you: https://en.wikipedia.org/wiki/Comparison_of_web_hosting_control_panels

Sharing data files between users in a Universal Windows Platform application

I am about to embark on the development of a line of business application using the Universal Windows Platform (Windows 10). One of the requirements of the application is the synchronisation of data from a server to a local SQLite database; this is required because the application needs to be usable where there is no network connectivity.
It is likely that multiple (windows domain) users will be accessing the application on the same device, sometimes simply by "swapping users", other times by logging off the first user and logging on as a new user.
I realise that UWP applications are installed at a user level, however I would like to be able to share the SQLite database between these users instead of forcing each user to download their own copy of the data.
Is this possible? I am struggling to find any reference to this kind of sharing within the Microsoft documentation - but of course that documentation is new and far from complete!
I guess at the end of the day I am looking for access to a folder that is accessible by any user running that application on the same device, such as the "x:\Users\Public" folders that are available from the desktop, but without having to ask the user to provide access to that folder via any picker control - instead simply being able to "open" it.
Thanks.
In case anyone runs across this, this functionality is now available as described in this blog post:
We introduced a new storage location Windows 10, ApplicationData.SharedLocalFolder, that allows multiple users of one app to share local data. Obviously this feature is only interesting with devices that will be used by more than one person. For such scenarios, for example in educational uses, it may make sense to place any large downloads in Shared Local. The benefits will be two-fold: any user can access these files without the need to re-download them, also there will be storage space savings
Keep in mind that Shared Local is only available if the machine has the right group policy, otherwise when you call ApplicationData.Current.SharedLocalFolder you will get back a null result.
In order to enable Shared Local the machine administrator should enable the corresponding policy.
Alternatively, the administrator could create a REG_DWORD value called AllowSharedLocalAppData with a value of 1 under HKLM\SOFTWARE\Policies\Microsoft\Windows\CurrentVersion\AppModel\StateManager
Note that data store in ShareLocal will only be persisted as long as the app is installed on the device and won’t be backed up by the system.
In Solution Explorer , Right click on Package.appxmanifest then click on ViewCode , end of this file in both projects add below code :
<Extensions>
<Extension Category="windows.publisherCacheFolders">
<PublisherCacheFolders>
<Folder Name="FolderName" />
</PublisherCacheFolders>
</Extension>
</Extensions>
After that in code you can access this folder with below line of code :
StorageFolder sharedDownloadsFolder = ApplicationData.Current.GetPublisherCacheFolder("FolderName");
It`s so important that the folder you will share between two these Apps depend on same publisher info at Certificate File [ProjectName]_TemporaryKey.pfx , if this Certificate File and publisher Info of app is same in both Projects , then you can access the same SharedFolder in both application and use it for create or use dataBase file(like SQLite Database file) or other files that need to be share in both applications.

Installing third-party Drupal modules on Azure

I've just started playing around with the new "Website" feature in Azure that allows you to create websites with just one step - and also allows you to create websites from a "Gallery", including Drupal. And I can get my Drupal site up and running, no problem. But if I try to add a third-party module (for instance, Mindtree's ODataDrupal), then I get this error message:
Installation failed! See the log below for more information.
odata_support
Error installing / updating
File Transfer failed, reason: Cannot chmod /DWASFiles/Sites/theparentsunion/VirtualDirectory0/site/wwwroot/sites/all/modules/odata_support.
More-or-less the same thing happens if I try to update some of the existing modules (which Drupal warns, with big red flashing letters, are out of date), except then my Drupal install is left crippled, with no way to fix it that I've been able to find.
Is this as-designed, or some limitation of the beta website integration? (Because a Drupal installation is kinda worthless if you can't add new modules to it, or update existing ones.) Or am I doing something wrong?
If you are trying to use plugins and 3rd party modules to Drupal based Windows Azure Websites, the results may vary person to person. This is mainly because the kind of configuration needed by specific module or plugin may or may not be supported by Windows Azure Websites model and not all kind of custom configuration will work on Windows Azure Websites and you would need to move to Windows Azure Virtual Machines.
About application specific structure, what you can do is open the websites FTP folder and whatever you could see there is user configurable, so you can configure it the way you want. However if you application will try to make changes to outside its limited scope, you will hit errors as above.
Here is a case study where Azure VM was used for Drupal based migration which shows that for complex application you may need to use AZure VM rather then Azure Websites.

Resources