I have a 32bit .NET app that uses the built-in MSI setup project in VS 2008.
It is deployed per-user using a GPO. This means it is installed on each computer the user logs on to. This way each user automatically gets the correct shortcut on their desktop.
All our workstations are Windows XP (32bit), but some of our users also log on to a terminal server (Windows Server 2008) which is 64bit. When they log on to the server and click on the shortcut, the msi installer launches (I think it's self-healing, changing the shortcut to Program files (x86) and they can use the application.
The problem is that when they log on to their workstation again and they click on the shortcut on their workstation, it immediately fails because the shortcut points to the Program files (x86) folder, wich doesn't exist on the XP machine.
I'd expect the MSI to self heal again to fix the shortcut. Can I force this to happen?
This is not supported by Windows Installer.
The automatic repair is performed only when Windows Installer detects a missing resource. Most likely the server machine cannot access some application files or registry entries, so it performs a repair which just happens to modifies the shortcut target. It's basically a coincidence.
Since the user account is roaming (the user can use it on multiple machines), the application should be installed in the user profile folder. Windows Installer provides AppDataFolder for this.
Using the user profile roaming folder will allow your users to access the application files correctly from any machine.
Related
I have two machines: Windows 10 Pro, and Windows 10 Home. I have enabled IIS on both of them. From both machines, going to IIS -> File -> About shows this dialog:
One might assume that I'm dealing with the full version of IIS simply due to the lack of the word "Express".
Is there any simple way to confirm if a machine has full or express installed?
IIS Express is normally installed into your 32-bit Program Files folder. So, to see if it's there you can try:
C:\>cd "\Program Files (x86)\IIS Express"
C:\Program Files (x86)\IIS Express>iisexpress /?
Full IIS is normally installed as a service called "World Wide Web Publishing Service" or "w3svc" for short. So, to see if it's there you can try:
C:\>net start w3svc
You opened IIS Manager to see such a dialog and IIS Manager is only part of full IIS, while IIS is part of Windows.
If you want to check that in code, then there are other ways such as checking Windows CBS data, or reading registry key.
IIS Express is completely another software, which is an MSI package to be installed either with Visual Studio or individually. To test its installation, you either check the Programs dialogue as the comment said, or query MSI data or registry keys.
If you have IIS manager installed, you have full IIS.
IIS Express is part of Visual Studio and appears in the Windows system tray when you run a web application/web site from within Visual Studio.
I have a problem with a Windows 8.1 app that I want to deploy by sideloading.
I installed InstallShield premier to test it's feature, and generated an installation package that contains appx file and a test certificate file created by visual studio (associated in installshield project properties).
I need to enable app distribution in group policy settings to install.
After app correctly installs on system, i found it in start menu, but when i try to run the app, windows shows a popup that says "there is a problem with this app, contact administrator".
Target system is a Windows 8.1 Pro 32 bit PC.
Id there any other settings that I must enable on target system before install the app with InstallShield?
Thanks
There are multiple requirements for sideloading to work, documented on technet, which I've summarized here:
Activate the sideloading product key on the device OR join the device to an Active Directory domain (except for certain embedded devices which do not require either of these).
Enable the Allow all trusted applications to install Group Policy setting.
Since you don't mention it, I'm going to guess that your machine has neither the sideloading product key nor a domain membership (nor is it one of the special embedded cases), so that's where I'd start.
For more troubleshooting ideas, see some blogs like Sideloading Store Apps to Windows 8.1 Devices or How Do I Deploy a Windows 8 App to Another Device for Testing?
Microsoft Excel cannot open or save any more documents because there is not enough available memory or disk space. • To make more memory available, close workbooks or programs you no longer need. • To free disk space, delete files you no longer need from the disk you are saving to.
I am getting this error while opening an excel sheet in my application
Application is running fine on IIS5 and IIS7 but when I shifted it to Windows server 2012 R2 with IIS8.5 it didn't worked
I googled and found some solution but they also didn't worked.
Here is what I have tried
For both 32-bit and 64-bit versions of Windows, the folder “C:\Windows\System32\config
\systemprofile\desktop” must exist and you need Full Control permissions to the
“systemprofile” and “desktop” directories.
For 64-bit versions of Windows 7 or Server 2008 and higher, the “C:\Windows\SysWOW64
\config\systemprofile\desktop” folder must also exist and you need Full Control
permissions to the “systemprofile” and “desktop” directories.
For 64-bit versions of Windows Vista, the “C:\Windows\SysWOW \config\systemprofile
\desktop” folder must also exist and you need Full Control permissions to the
“systemprofile” and “desktop” directories.
For Windows 8.1, in addition to the above, the Windows Registry Key
[HKEY_Current_User\Softwware\Microsoft\Windows\CurrentVersion\Explorer\User Shell
Folders\Cache] must be set to C:\Windows\Temp
Finally found answer
On 64 bit system with 32 bit Office try this:
Start
Run
mmc -32
File
Add Remove Snap-in
Component Services
Add
OK
Console Root
Component Services
Computers
My Computer
DCOM Config
Microsoft Excel Application
after finding excel application give it appropriate security clearance and you are good to go
I have an installation setup created by LE instalshield under VS2012. This setup.exe installs the application, registers some DLLs and activeX files and adds some registry entries as pointers to the location of an SQL server database. This application is to be run by all the users in a group policy created by the IT of their institution. The installation is done under the full administration privileges.
If the UAC of the win 7 is not fully lowered, some DLLs and OCXs are not registered (although the required registry keys are written in the MACHINE area of the registry without any problem!). So in order to avoid this I have to manually lower the UAC to its lowest level before running the Setup.exe. This solves the problem with the registration of DLLs.
But sometimes even though the installed program works for the installed login, it does not work for other logins within the same group/users. So how can I create a setup.exe under LEinstallshield that would 1) not require manual lowering of UAC, 2) install for all users under the same group policy?
Thank you for all your help.
You should be asking why your installer isn't compatible with UAC instead of asking how to disable UAC. If you are authoring a clean MSI using the registry tables (COM extraction) instead of using COM self-reg or other custom actions, it should just work.
I'm logged-in as non-administrator account on Windows 2008 R2.
When I try to run the Inno-setup script under that account, I'm required to enter administrator password.
The problem is that later I can't debug that script, since it has references to {userappdata} variable, which means that during run-time it refers to administrator!
I wish not to be asked to provide administrator rights - not during debug nor during real installation. How to do that?
I prefer the application not to be installed by administrator. Respectively, files are installed to {app} (usually C:\Program Files (x86)) and {userappdata} only
How to prevent being asked to install it as administrator?
If I'd purchase a code-sign certificate for that application - would that solve that problem?
THANK YOU
There are tips already shared,
http://www.vincenzo.net/isxkb/index.php?title=Vista_considerations
If you can make your installer friendly to standard users, then the elevation can be removed. You might first set PrivilegesRequired=lowest and then see what breaks. After fixing the broken pieces, you should get such an installer.
Code signing will not stop elevation prompt, if your installer still requires elevation.
Installing anything to %PROGRAMFILES% (C:\Program Files or C:\Program Files (x86) in versions of Windows supporting UAC (and even Windows XP under a non-power user or administrator account) requires administrator rights. There's no way to work around that; the normal (non-administrator) user isn't supposed to install software to %PROGRAMFILES%.