Time Travel Debugging: how to install it without the store? - c#

I've a problem on a preproduction server and I thought it was the right time to try the time travel debugger added to the WinDbg Preview.
But it seems impossible to get it outside a dev machine:
Install only available from the store ... so need to be connected on the store
Windows 10 requirements
Is this features usable outside the development environment ? If yes, how ?
Thank you

If you target OS is Windows Server 2016, 2019 or Windows 10, you can use the standalone reduced features version of TTD, now present in most recent versions of Windows. For now, the only thing you can do with this standalone version that comes with the OS is to attach to an existing process to record the trace. This is the command syntax:
Requires elevated privileges
TTTracer [-out <folder-name-for-run-file>] -attach <PID>
Example:
After reproducing the problem, run from another command prompt to stop capturing:
TTTracer -stop all
Example:

Open this website and type in the url for the Windbg Preview and click on checkmark to generate the links to the appx files.
,
now download the appx and install it with the App Installer or extract it with Unzipping Tool like 7zip and run it on older Windows like Windows 7/8.1.

Related

How to run .net framework 4 build application on Windows 2016 Servers?

I have an old webservice installer built on .netframework 4 which is running on Windows 2008 and when i try to install the installer on Windows Server 2016, i am getting the below error.
Error Message : "This setup requires Internet Information Server 5.1 or higher and Windows XP or higher. This setup cannot be installed on Windows 2000."
Is it possible to run this old webservice installer to the new 2016 without rebuild my solution?
LaunchCondition Table: Most likely there is an entry in the LaunchCondition table of that MSI - if it is an MSI - which prevents installation. I say most likely because it could also be a custom action - please check the launch condition table first and get back to us. Launch conditions must evaluate to true for the setup to allow itself to be installed. You can "hotfix" this by using a tool capable of writing to MSI files: How can I compare the content of two (or more) MSI files?
You are supposed to make a transform file *.mst (a database fragment) and apply it at installation time to change the original MSI installer. However, sometimes I make backups of the original installer and zap simple stuff like launch conditions if they are wrong in the first place. A transform becomes too cumbersome for ad-hoc stuff. But should be used if you intend to distribute through SCCM etc...
Compatibility: Even if you hotfix the MSI file and it installs you obviously won't see the webservice working if there are technical reasons why it won't work on that machine. Launch conditions are a sign that something must be present on the machine for the application to work. However, sometimes people are a bit trigger happy with their launch conditions and make packages that are a bit too restrictive.
Note: first check if IIS is installed on the box.

How can I test the update path for my Windows 8 app?

When I develop for Windows Phone, I am able to side load the current version of the app (version on the Windows Store) and then run the app in development in the same emulator. This give me an idea if the app update work.
I am trying to do the same thing with Windows 8 App but it doesn't work. I side load the current version of the app and then run the app in development and I get the following message: "The app ... is already installed on this machine".
How can I test the update path for my Windows 8 app?
Thanks!
When you build an app from the Windows Store it gets packed up into a an .appx file, which, you can submit for certification or side load using the PowerShell script.
When you run it in a development environment (pressing “play” in Visual Studio) it installs an unpackaged version in a different directory. What this means is that you must remove the packaged version before you can install the unpackaged one.
However, you can build a package and side load that one, as long as the version number is larger than the one already installed:
In Visual Studio, right click on your project and select “Store” and then "Create App packages...". When asked if you need to build the package for upload to the Windows Store, select "No".
Choose an output location and enter a version number higher than the one of the currently installed version
Wait for the project to build.
Start Windows PowerShell from the start screen, and navigate to the output directory from the above step
Navigate to the sub directory for the correct build of your app (eg. “MyApp_1.0.1_x64_Debug”)
Run .\Add-AppDevPackage.ps1 and wait for the app to install.
This will have upgraded your current packaged install to the new version, which will allow you to test that any upgrade code in your app works, you will not, however be able to debug it in Visual Studio.
Note, that when your done testing, you should use the remove-appxpackage <Your app ID> (Documentation) PowerShell command to uninstall the side loaded version to prevent you from having issues if you try and install a version from the Windows Store.
Hope that's helpful.
-Andy.
Update: I forgot to mention, you may have to run Set-ExecutionPolicy RemoteSigned from an admin PowerShell window before you are able to execute .ps1 scripts - http://technet.microsoft.com/en-us/library/hh849812.aspx

C# app runs in Windows 7, but not in Windows XP

I have created an application in VS C# Express 2008 using Windows 7 as my OS. It runs perfectly fine on other W7 machines, but when we try and deploy it on a machine with XP it doesn't even run. I just get the usual "Application needs to be terminated" error message. The app was built using .NET 3.5 and all the machines have at least 3.5 installed. Is there anything that I may be able to do to get the program running in previous versions? Thanks in advance for your help.
Updated Info. The machines all use x86 32-bit OS, either XP SP3 or W7, so I don't think that there is a huge need for checks for 64-bit issues. The application itself is loading images into an image list and adding in an image when it finds a break in the file names. (eg. There are 4 images in a folder, 1-3 and 5, what the application does is iterates through each image name and the minute it sees that image 4 is missing, it adds a placeholder image and labels it image 4.)
You should set up an UnhandledExceptionEventHandler so that you can log information about the current state of your application and the exception information. It isn't going to stop your application from crashing, but it will give you more information about what happened and make it easier on your end user to give you what you need to know when the application crashes.
This article give a good description of how to do that.
First you must be sure that .Net Framework 3.5 is installed on your Windows XP machine. If everything is OK, then you should check if you are using "3rd party dlls as reference" and validate their existence and correct versions on your Windows XP machine.
Probably this can help.
Log the exception which is thrown by the application so that you can fix it.
Not a lot of info but some things to check:
Make sure you have the latest patches on XP and SP release
Maybe you need to run the program as administrator - are you logging in as admin
Have you checked the windows appliation error log to see if there is anything there that might be helpful

Cellular Emulator :com4 is in use, please close Device emulator if it is running and then retry

link text
I installed windows mobile 6.0 standard sdk but later found out my program needs professional versions.
No matter how i uninstall the old sdk from control panels>add/remove or trying to install the Professional version over it, this happens. Now i couldn't even run a smart device project/solution from Visual studio 2008.
Now i can't work on my project...
I have Windows XP SP3 Eng with some additional updates.
For me works to delete registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\xpvcom by registry editor (Run => regedit). After deletition it works with out restart.
to.kykygle.me.
Good luck!
A simple answer to this question is to reformat your computer. Care centers have told me to do that every time I explained a problem to them.
I was running into the same problem. The following helped me.
Goto Control Panel-> System Properties ->Hardware ->Device Manager
Under the System Devices -> Remove XPVCOM.
Try uninstalling now. Hope it helps someone.
I'd like to add what worked for me:
(From http://forum.xda-developers.com/showpost.php?p=12061641&postcount=7, who got it from http://faqs.edujini-labs.com/55_12_en.html)
Like one of the other answers here, the trick is to uninstall XPVCOM, but the additional thing to do is reinstall XPVCOM. My guess is that if there's a problem with the installation of that, it breaks the other uninstall.
Go to your device manager. My Computer -> Properties -> Hardware -> Device Manager
Go to the entry of "System Devices"
Towards the end, you will find an entry "XPVCOM" (XP Virtual COM Port, I guess). Uninstall it. You will see this entry only when you get the error "COM in use, please verify".
Now, go to the folder where you have the Cellular Emulator. The default location is "C:\Program Files\Windows SDK 6 Professional\Tools\Cellular Emulator".
You will find a utility InstallXPVCom.exe. At the command prompt, execute the following:
InstallXPVcom.exe Install
Try uninstalling again, it will work.

Creating a updater

VS 2008 SP1
I have created a application that I have installed on the user computer. However, I want the application to be self-updating. But I am not sure if this would really update the application.
The application will download all the files from the web server, and replace the files in the directory where the program as been installed to. The user will restart the application.
I am just want to be sure, because I can't replace the installed files with the updated ones. As the application will be running. So really the application cannot delete/replace itself.
So, I was thinking that I could download into another directory, if the program is installed in this directory 'program files/application/1.0.0' then I could download the files to 'program files/application/1.0.1'.
However, when the program restarts, how can it know that it has to execute from the 1.0.1 directory?
I can't use clickonce or the updater block for this.
Many thanks for any advice,
A good option is to make an independant Updater application.
The updater will download the newest version and kill/replace the old.
I think this is the best option, because you can execute the updater within the main appication (so you can say that it´s self-updating), or directly by the user with a shortcut.
The updater can check if the application is running and ask the user to exit the application or kill it by itself.
Forgive my english...
Good luck
All of that is already done for you if you use ClickOnce deployment (Project properties, Publish).
You can wrap the application with a small loader program which will do a version check. If it's out of date, download the newer binaries and overwrite the old ones. If you want to maintain all version you might end up with:
c:\program files\mycompany\myapp\loader (the newer version will point to the latest directory)
c:\program files\mycompany\myapp\v1.0
c:\program files\mycompany\myapp\v1.1
If it's on a LAN, you might be able afford the bandwidth of just re-downloading the binaries on start up instead.
Use Windows Installer for the installation and updating. If you sign your installation packages the user can update your application without needing any administrator privileges.
I've made a website and an application that demonstrates the functionality of what you want on my website.
Wix Clickthrough might meet your needs: http://wix.sourceforge.net/clickthrough.html
I would look into ClickOnce. It can be configured multiple ways, to check for updates before the application runs, to download from the server each time it's run, or check for updates after the application has started.
I have done ClickOnce Deployment and an independent updating application, they both work well. You obviously will have more flexibility over an updating application that you create yourself, however tho, ClickOnce can also be configured to install prerequisites such as the .NET Framework, Windows Installer, etc... for your application to run.

Categories