i've created a Visual Studio Installer in .NET 4.0 for my Windows Service.
The installer works on my computer (Windows 10 64 bit), on Windows 7(32 bit) but it doesn't work on Windows Xp 32 bit, the installer doesn't start and appears a window with this message:
"Installation doesn't complete. Installation program interrupted
before the installation of " ". Start the installation program again before
trying again. Choose Close to exit".
.NET 4.0 is installed.
There is no other details, what can i do for debugging the problem?
Thank you very much for your attention
Some chunk of LogFile.txt:
Start operation 13:19:48: INSTALL. 13:19:48 Operation: DIRCA_CheckFX.
Start operation 13:19:48: DIRCA_CheckFX. Action ended 13:19:48:
DIRCA_CheckFX. Return value 3. 13:19:48 Operation: FatalErrorForm.
Start operation 13:19:48: FatalErrorForm.
2898. Information VSI_MS_Sans_Serif13.0_0_0, MS Sans Serif, 0
2898. Information VSI_MS_Sans_Serif16.0_1_0, MS Sans Serif, 0 DEBUG: Error 2826: Control Line2 on dialog FatalErrorForm extends beyond the
boundaries of the dialog to the right by 3 pixels There was an
unexpected error installing this package. Likely problem with this
package. The error code is 2826. The arguments are: FatalErrorForm,
Line2, to the right DEBUG: Error 2826: Control BannerBmp
FatalErrorForm on dialog extends beyond the boundaries of the dialog
to the right by 3 pixels There was an unexpected error installing this
package. Likely problem with this package. The error code is 2826. The
arguments are: FatalErrorForm, BannerBmp, to the right
2898. Information VsdDefaultUIFont.524F4245_5254_5341_4C45_534153783400, MS Sans Serif,
0 DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends
beyond the boundaries of the dialog to the right by 3 pixels There was
an unexpected error installing this package. Likely problem with this
package. The error code is 2826. The arguments are: FatalErrorForm,
Line1, to the right 13:19:48 Operation: FatalErrorForm. Dialog created
Action ended 13:19:52: FatalErrorForm. Return Value 1. Action ended
13:19:52: INSTALL. Return value 3.
Property (C): VSDNETURLMSG = Setup requires .NET Framework version
[1]. Install .NET Framework and run setup again. You can obtain the
.NET Framework from the Web. Downloading now? Property (C): VSDIISMSG
= The installer requires Internet Information Server 5.1 or later, and Windows XP or later, and can not run on Windows 2000. Install Internet
Information Server or a more recent operating system and run the
installer. Property (C): = VSDUIANDADVERTISED This announcement will
not be installed because it might be unreliable. Contact your system
administrator to change the package installation in the basic option.
Property (C): VSDNETMSG = The installation program requires the .NET
Framework version [1]. Install .NET Framework and rerun the installer.
Property (C): VSDINVALIDURLMSG = The specified path '[2]' is
unavailable. Internet Information Server might not be running or you
can that the path exists and is redirected to another computer. Check
the status of this virtual directory in Internet Services Manager.
Property (C): VSDVERSIONMSG = Unable to install. The latest version of
the product is already installed
.
DIRCA_CheckFX is the VS setup custom action that checks for the .NET Runtime, and it's failing, that's why it returns 3, and the rest of it is just whining about the dialogs not being perfect.
You didn't say which version of VS setup you're using, but the most likely explanation is that XP (which is unsupported) is missing some dependency (or OS API) that the custom action code needs. Or it's using a search for the runtime that is inappropriate for a runtime installed on XP. If you built your setup with an ancient VS setup (VS 2003 or VS 2005) it might have more chance of working because XP was supported when they were around.
From the log, the error looks like it is to do with the error dialog ironically.
I think that the dialog is about 3px too small on XP for some reason. If you make the error dialog slightly larger, or the controls slightly smaller, you may fix the issue, or more likely, get a better error message. I've extracted the relevant bits from the log.
DEBUG: Error 2826: Control Line2 on dialog FatalErrorForm extends
beyond the boundaries of the dialog to the right by 3 pixels
DEBUG: Error 2826: Control BannerBmp FatalErrorForm on dialog extends
beyond the boundaries of the dialog to the right by 3 pixels
DEBUG: Error 2826: Control Line1 on dialog FatalErrorForm extends
beyond the boundaries of the dialog to the right by 3 pixels
I avoid VS Installer like the plague, so if you can't modify the dialog in there, try using an MSI Editor like InstEdit (freely downloadable).
Related
We have a Windows 10 1607 image with our app installed via Advanced Installer.
We then updated the app to a new version and the update worked as excepted.
However if we do the same procedure but with a Windows 10 1703 image, the upgrade of our app fails with the following error:
MSI (s) (58:B8) [16:12:02:846]: Note: 1: 2769 2: ShopInstallClass_x64 3: 1
Error 1001. Error 1001. The specified service has been marked for deletion
Info 2769. Custom Action ShopInstallClass_x64 did not close 1 MSIHANDLEs.
CustomAction ShopInstallClass_x64 returned actual error code 1603 (note this
may not be 100% accurate if translation happened inside sandbox)
MSI (s) (58:EC) [16:12:02:858]: Note: 1: 2265 2: 3: -2147287035
MSI (s) (58:EC) [16:12:02:860]: User policy value 'DisableRollback' is 0
MSI (s) (58:EC) [16:12:02:860]: Machine policy value 'DisableRollback' is 0
Action ended 16:12:02: InstallExecute. Return value 3
The custom action above refers to a windows service which is being uninstalled and then reinstalled with the new update. I tried putting a stop service and even a stop process to see if that would work (possibly handles left open) and the installer still did not work.
Any ideas why this is happening?
The code in the custom action has crashed, I assume you know that. Without showing more of the log it's also not clear where in the upgrade it's happening, if in fact you're referring to a major upgrade when you say "update". In a major upgrade there's an install of the new product and an uninstall of the older one - where is this crash happening in that sequence? It's also possible that your ShopInstall class is an installer class to install a service, which isn't necessary because Windows Installer has ServiceInstall actions for that.
Having said that, the message "The specified service has been marked for deletion" implies that the code is trying to do something to a disabled service. So it looks like a previous uninstall of the service has been attempted, and the service did not shut down or stop correctly. In that situation Windows will mark the service disabled and then a reboot will finally delete it. In the meantime if something tries to do something with that service it will fail with the "pending deletion" error. So you'd have to go back to whatever uninstall was attempted and why it failed to first stop, and then uninstall the service.
I have created a simple Lightswitch desktop application in Visual Studio, added one table, and one search screen. When I ran it for the first time, it has shown a window with search screen with a red X mark. Hover over, it displays "Unable to load data. Please check your network connection and try loading again."
I've tried searching for lengthy hours with no luck. I've also tried the answers in this page without any luck. I have also tried granting permissions of all levels on the working directory of the project. Please help, this is very frustrating as I've expected so much from Microsoft but they failed to troubleshoot their faulty product.
Additional Information:
I am using Windows 10 Home, i7, 16 GB RAM, Visual Studio 2015 Ultimate with Update 3. I've tried to clean the entire solution and then debug. There is 1 error and 14 warning messages, here's the error:
<!--The Development Database is built in the same location - Bin\Data - for all configurations.-->
<BuildSchema Inputs="#(ServerMetadataFiles)"
ServerGeneratedMetadataFiles="#(ServerGeneratedMetadataFiles)"
Collation="$(DatabaseCollation)"
DatabaseProject="#(_DatabaseProject)"
ProjectPath="$(MSBuildProjectFullPath)"
OutputDirectory="Bin\Data"
SqlExpressInstanceName="$(SqlExpressInstanceName)"
ExternalDataSources="#(ServerExternalDataSources)"
Condition="'$(SkipBuildSchema)' == ''"/>
And here is one of the 14 errors:
Warning The element 'PropertyGroup' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003' has invalid child element 'UseDesignTimeFeatures' in namespace 'http://schemas.microsoft.com/developer/msbuild/2003'. List of possible elements expected: 'Property, VisualStudioVersion, MinimumVisualStudioVersion, AdditionalFileItemNames, AllowUnsafeBlocks, AppConfigForCompiler, ApplicationIcon, ApplicationRevision, ApplicationVersion, AppDesignerFolder, AspNetConfiguration, AssemblyKeyContainerName, AssemblyKeyProviderName, AssemblyName, AssemblyOriginatorKeyFile, AssemblyOriginatorKeyFileType, AssemblyOriginatorKeyMode, AssemblyType, AutoGenerateBindingRedirects, AutorunEnabled, BaseAddress, BootstrapperComponentsLocation, BootstrapperComponentsUrl, BootstrapperEnabled, CharacterSet, CheckForOverflowUnderflow, CLRSupport, UseDebugLibraries, CodePage, Configuration, ConfigurationName, ConfigurationOverrideFile, CreateDesktopShortcut, CreateWebPageOnPublish, CurrentSolutionConfigurationContents, DebugSecurityZoneURL, DebugSymbols, DebugType, DefaultClientScript, DefaultHTMLPageLayout, DefaultTargetSchema, DefineConstants, DefineDebug, DefineTrace, DelaySign, DisableLangXtns, DisallowUrlActivation, CodeAnalysisAdditionalOptions, CodeAnalysisApplyLogFileXsl, .... Miscellaneous Files C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\LightSwitch\v5.0\Microsoft.LightSwitch.targets 19
I developed a pretty straight forward SSIS package (in VS2005 w/ .Net Framework V 2.0.50727 SP2) that gets a list of users to email, starts a for-each loop container and then executes a script task to retrieve user specific data and email it out to the user. When I run it on my dev box everything works great and runs as it should. However when I deploy the package to our production server running (Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Standard Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2) ) the task fails.
The original error message is:
Executed as user: xxxxx. Microsoft (R) SQL Server Execute Package Utility Version 9.00.5000.00 for 64-bit Code: 0x00000009 Source: PackageName Description: The task cannot execute in 64-bit environment because the script is not pre-compiled. Please turn on the option to pre-compile the script in the task editor. End Error ... Error DTExec: The package execution returned DTSER_FAILURE (1).
After researching that extensively the interwebs suggested that I try:
running the package in 32bit by changing the execution property in the SQL job and by changing my RunIn64BitMode property from true to false
which fails because " Option "/X86" is not valid."
install the Microsoft Hotfix
which doesn't apply since I am already running on SP2
So after more research I find that I need to turn on "Please turn on the option to pre-compile the script in the task editor." SOURCE: ssis-dtsx DOT blogspot DOT com/2010/03/cannot-execute-in-64-bit-environment.html
Which entails:
Make sure that each script task has PreCompile = True
Open Script Task Editor, switch to Script tab and make sure that
PrecompileScriptIntoBinaryCode = True
Click on Design Script to open code editor (Visual Studio for Applications) and then choose it using File > Close and Return (VSA will recompile and store binary code in the package).
Build Project and copy to target location
However when I execute the package I immediately get the error:
Executed as user: xxxx. ...0.5000.00 for 64-bit Code: 0x00000008 Source: PackageName Description: The task is configured to pre-compile the script, but binary code is not found. Please visit the IDE in Script Task Editor by clicking Design Script button to cause binary code to be generated. End Error Code: 0x00000008 Source: GET PO infor and Email Description: Script could not be recompiled or run: Retrieving the COM class factory for component with CLSID...
So my final step was to turn DelayValidation property from False to True in the SSIS pkg, go into the design script to cause it to be rebuilt, then redeploy, and rerun and I still get the same error.
On searching the error I am directed to Microsoft HOT FIX which suggested that I download another hotfix.
I have not yet downloaded the hotfix, and would prefer not to if I can avoid it (our OPs team doesnt like running hotfixes mid day on production servers).
Go to the package, open the script component, then within Visual Studio (while looking at the code) click on BUILD. This will compile the package, if there are no issues preventing it from compiling. Then SAVE, go back and ensure that you click on "OKAY" and not "cancel", if you click on cancel then the whole thing reverts back.
This question is related to my previous question.
I need to publish a C# application (that has been set up in IIS 6.0 and built in VS2010) to a desktop with win7.
I have set up IIS on my desktop well. Now I can install the application on my laptop by accessing the URL
http://myDesktopName.domain.com/MyApp
pointing to a physical location in desktop
e:\myPath\myApp\myAppService.svc
When I publish a new version of the web service, the application should get updated when I open it.
But, it gave me an error:
**the filename,directory name, or volume label syntax is incorrect**
After searching online, I found this error is normally caused by some unacccepted chars in the link. Here is the code that the msi (MS installer) needs to access and get the new version of the application.
System.Diagnostics.Process.Start("msiexec", "/favmuso \"" + myurl + "\"");
here,
myurl is http://myDesktopName.domain.com/MyApp/MyAppSetup.msi
Here, http://myDesktopName/MyApp/ is the virtual directory set in IIS 6.0 on my desktop. I can access and download it from IE in my laptop without any problems.
But, when the application notified me that a new version is available for updating the old one, I clicked the pop-up ballon on the application icon and then I got the error:
Error 123. The filename, directory name, or volume label syntax is incorrect.
If I try to access it from the C# code, I got the same error.
Then, I did a test by running
msiexec **/favmuso** http://myDesktopName.domain.com/MyApp/MyAppSetup.msi /Lv mapp_msi.log
In the log file, i found :
MSI (s) (80:DC) [18:04:33:089]: SECREPAIR: Failed to open the
file:http://myDesktopName.domain.com/mypath/\myAppSdetup (10).msi for computing its hash. Error:123
Error 123. The filename, directory name, or volume label syntax is incorrect.
Why my applcation setup file name was changed to
\myAppSdetup (10).msi
The "/favmuso" options can be found at
https://technet.microsoft.com/en-gb/library/cc759262%28v=ws.10%29.aspx#BKMK_Install
Any help would be appreciated.
thanks
So I noticed that you've asked this question elsewhere, and everyone was focused on the /favmuso piece of it.
I've been recently exeriencing this issue when trying to repair MSIs with a URL source when the original application was installed by SCCM 2012.
The workaround I found was to add a registry value at HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer. The value below causes the MSI to skip the problematic portion of the repair and move on.
Name: SecureRepairPolicy
Type: REG_DWORD
Value: 1
To be a bit safer, you look into setting the registry value to 2 and using a whitelist as described in this Microsoft article: https://support.microsoft.com/en-us/kb/2918614. (Ctrl+F "Steps to opt-out the affected programs".)
I just got some feedback of some users of our application, they have got issues on windows XP with our application. This application works fine on Windows 7, but not on Windows XP.
One other strange thing: If I build this on a Windows XP workstation(with VS2010), it works on my local workstations, and if I put this build on another XP workstation, it doesn't work anymore.
When running on XP, I just got an error telling me that XXXXX has encountered a problem and needs to close. We are sorry for the inconvenience.
I found in the EventViewer Application's log this stacktrace:
Application: MyApplication.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.AccessViolationException
Stack:
at System.Windows.Forms.UnsafeNativeMethods+IOleObject.DoVerb(Int32, IntPtr, IOleClientSite, Int32, IntPtr, COMRECT)
at System.Windows.Forms.WebBrowserBase.DoVerb(Int32)
at System.Windows.Forms.WebBrowserBase.TransitionFromRunningToInPlaceActive()
at System.Windows.Forms.WebBrowserBase.TransitionUpTo(AXState)
at System.Windows.Forms.WebBrowserBase.OnParentChanged(System.EventArgs)
at System.Windows.Forms.Control.AssignParent(System.Windows.Forms.Control)
at System.Windows.Forms.Control+ControlCollection.Add(System.Windows.Forms.Control)
at My.NameSpace.Here.Controls.LearningCenterControl.InitializeComponent()
at My.NameSpace.Here.Controls.LearningCenterControl..ctor()
at My.NameSpace.Here.MainForm.InitializeComponent()
at My.NameSpace.Here.MainForm..ctor()
at My.NameSpace.Here.MainForm.get_Instance()
at My.NameSpace.Here.Program.Main(System.String[])
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
This happens on the InitializeComponent of the designer of one of my userControl:
this.m_learingResourceBrowser = new System.Windows.Forms.WebBrowser();
I guess there a Security issue with XP, but what?
I found this:
REM Mark project as DEP Noncompliant
call "$(DevEnvDir)..\..\VC\bin\vcvars32.bat"
call "$(DevEnvDir)..\..\VC\bin\editbin.exe" /NXCOMPAT:NO "$(TargetPath)"
I've put this Post-build event on the exe project, but I didn't saw any improvement
I've also tried to run directly the command with my exe:
editbin.exe /NXCOMPAT:NO YourProgram.exe
Any idea about what could cause this issue?
EDIT
I found this answer which states:
To test if its a DEP issue do this.
Right click on "My Computer" Select "Properties" and "Advanced" Under
"Startup and Recovery, click Settings Now click on "Edit" The notepad
has just begun. Simply replace the line: Code: noexecute optionn by
AlwaysOff Restart your PC to complete the transaction.
And I after this I don't have this error anymore. So my question is: currently I've done the previous operation only on the main exe. Should I do this operation on all dll? Because my project is composed of more than 230 projects, so it would be hard to test everything.