How to deal with Service Names with spaces in InstallShield - installshield

I am creating an InstallShield package that installs a third party service using IS 2010 professional. The service name has spaces in it, but this version of IS does not allow spaces in the service name, so I used a name without spaces not knowing any better. This causes an error when the package is installed because the service name trying to be started cannot be found. I tried creating a public property that had the correct name - with the spaces, but it doesn't use the property value. Other than upgrading InstallShield, is there any way around this?

It seems that this has been corrected in later versions - I may have to upgrade:
Installshield has fixed this issue in their Installshield 2011 and Professional editions.
http://kb.flexerasoftware.com/selfservice/viewContent.do?externalId=Q208910
IOA-000054509 (Basic MSI, InstallScript MSI, Merge Module, Transform)
It is now possible to add to a component a service that has one or more spaces in its name. Previously, InstallShield displayed an error if you tried to use spaces in a service name.
EDIT: In case anyone comes across this issue, I was able to overcome it by going to the direct Editor in InstallShield, then clicked on Service control. There, I was able to edit the name for the service - putting in the spaces. This changed it on the component under Advanced Settings as well. The installer now had the correct service nema to start and was able to do so.

Related

"An error occured while applying security settings" during node.js installation

I am trying to update my node.js version. I managed to delete it, but I can't install a new version. Any suggestions?
Sounds like a known issue
https://github.com/nodejs/node/issues/39224
Core issue seems to be that Windows localizes names of built-in users
and groups. On my non-English Windows system, there does not exist a
group called "Authenticated Users". It exists using a localized name.
Hence, the solution implemented in that commit will never work on
non-English Windows systems.

Windows sometimes puts msi path record in \HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\. How to disable that option?

I have a problem with msi installer.
Some users have problem with updating my application via msi because they got error that msi cannot find remote path.
I know how to fix it. All i need to do is remove record from \HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\ and it fixes the problem.
But i don't know how it happens that some users have record there and how to block windows from putting it there.
Including screen of error for visualization , but it's in polish :)

How to install Contract-First Tool in VisualStudio 2012

I have VisualStudio 2012 and I'm trying to follow the following tutorial http://msdn.microsoft.com/en-us/library/hh674270.aspx
But I couldn't find the option Schema Definition from the WCF pane of the Templates dialog.
Do I have to install something? What would that be? An extension, perhaps?
Thanks in advance.
You don't need to install it - it's already there. What might be catching you out is that it's only available in the "WCF Service Library" template.
Once you then add a schema file as shown:
You then get an additional option on the project properties:
I want to add my findings.
I too wanted the Contract-First tool and didn't find the setting mentioned in the msdn link.
However I found out how to add it to any project type as I wanted my iis-hosted services to use contract first aswell.
What you do is to create a "WCF Service Library" as mentioned above.
Then open the csproj-file for the project in a text editor.
Then copy paste the entries that looks something like this into the other project-file
<FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
<WcfProjectProperties>
<AutoStart>True</AutoStart>
</WcfProjectProperties>
</FlavorProperties>
Also you need to change the guid:s in the target project to something like this:
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
The FlavorProperties tag with its guids are from vs2012 update 3 so it may change in the future.
So with this hack you're able to deploy contract first services directly to the iis.
The question however is why it wasn't working like this out of the box in visual studio 2012
You don't need to add the XSD from the WCF pane, just take the XML Schema item from the Data pane.
If VS 2012 has the option "Enable XSD as type definition language" on, it will generate the types under the namespace of your solution + ".ContractTypes".
Check the output windows to see what the build process is doing with the XSDs.

How to publish MSHTHML.dll and SHDOCVW.dll to Azure

I have a 3rd party web page screen capture DLL from http://websitesscreenshot.com/ that lets me target a URL and save the page to a image file. I've moved this code into my Azure-based project and when I run it on my local sandboxed dev box and save to the Azure blob, everything is fine. But when I push the bits to my live server on Azure, it's failing.
I think this is because either MSHTML.dll and/or SHDOCVW.dll are missing from my Azure configuration.
How can I get these libraries (plus any dependent binaries) up to Azure?
I found the following advice on an MSFT forum but haven't tried it yet. http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/0344dcff-6fdd-4479-a3b4-3e89750a92f4/
Hello, I haven't tried mshtml in the cloud. But generally speaking, to
use a native dll in a Web Role, you add the dll to the Web Role
project just like adding a picture (choose add existing items). Then
make sure the Build Action is set to Content. This tells Visual Studio
to copy the dll file to the output package.
Also check dependencies carefully. A lot of problems related to native
code are caused by missing dependencies, such as a particular VC++
runtime dll.
Thought I'd ask here first before I burn a day or two on an unproven solution.
EDIT #1:
it turns out that our problem was not related to MSHTML.dll or SHDOCVW.dll missing from the Azure server. They're there.
The issue is that by default new server instance have the IE security hardening feature enabled, and this was preventing our 3rd party dll from executing script. So we needed to turn off the enhanced IE security configuration settings. This is also a non-trivial exercise.
In the meantime, we just created a server-side version of the feature on our site we need to make screen captures from (e.g. we eliminated JSON-based rendering of UI on the client), and we were able to proceed.
I think the solution mentioned in the MSDN forum thread is correct. You should put them as part of your project files, so that the SDK will package and deploy them to the VM on the cloud.
But if they are COM and need to be registed you'd better call the register command via the Startup feature. Please check http://msdn.microsoft.com/en-us/hh351539
HTH

Display additional dialog when application is in upgrade mode

I created a setup file which is working awesome.
Now whenever I rebuild an application without changing anything but Package Code is changed and then while I am going to install this version then a dialog will come "Upgrade Dialog" which ask me for upgrade an application.
Now in this situation I want to display an additional dialog created by me.
I am using the Insatllshield 2012 BASIC MSI project type.
I solved this problem.
There are two properties exist in Installshield named "IS_MINOR_UPGRADE" and "IS_MAJOR_UPGRADE".
When there is a minor upgrade at that time IS_MINOR_UPGRADE will set to 1. And same for Major upgrade.
So using these properties, I can recognize the Upgrade mode.
Any time you change the package code but not the product code you are talking about a Minor Upgrade or possibly a Small Update if you don't change the ProductVersion. Either way, the only way to create a custom message like you ask is to write your own setup.exe / update.exe bootstrapper to detect the update scenario and display your confirmation UI.
There's nothing built into MSI or IS that allows you to easily change this.

Resources