Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Post extension (wpost) causing registry issues with existing ProgId code for WLW #96

Open
randrey opened this issue Dec 12, 2015 · 8 comments
Labels
bug General bugs help wanted
Milestone

Comments

@randrey
Copy link

randrey commented Dec 12, 2015

Happens when saving a draft.

OpenLiveWriter,1.9424,None,00014,11-Dec-2015 19:14:37.740,"Dumping file registration for category Recent drafts in response to jumplist error:",""
OpenLiveWriter,1.9424,None,00015,11-Dec-2015 19:14:37.766,"JumpListItem: C:\Users\x\Documents\My Weblog Posts\Drafts\(Untitled Post)[5].wpost with path: C:\Users\x\Documents\My Weblog Posts\Drafts\(Untitled Post)[5].wpost",""
OpenLiveWriter,1.9424,None,00016,11-Dec-2015 19:14:37.791,"Dumping file registration for extension: .wpost",""
OpenLiveWriter,1.9424,None,00017,11-Dec-2015 19:14:37.817,"Failed to open HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.wpost",""
OpenLiveWriter,1.9424,None,00018,11-Dec-2015 19:14:37.844,"Dumping ProgId for extension: .wpost",""
OpenLiveWriter,1.9424,Fail,00019,11-Dec-2015 19:14:37.873,"ERROR: ProgId missing for extension: .wpost","   at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at OpenLiveWriter.CoreServices.Diagnostics.LogFileTraceListener.Fail(String message) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.CoreServices\Diagnostics\LogFileTraceListener.cs:line 100
   at System.Diagnostics.TraceInternal.Fail(String message)
   at System.Diagnostics.Trace.Fail(String message)
   at OpenLiveWriter.PostEditor.JumpList.JumpList.DumpFileRegistration(JumpListCustomCategory category) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\JumpList\JumpList.cs:line 209
   at OpenLiveWriter.PostEditor.JumpList.JumpList.AppendCustomCategories() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\JumpList\JumpList.cs:line 293
   at OpenLiveWriter.PostEditor.JumpList.JumpList.Refresh() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\JumpList\JumpList.cs:line 149
   at OpenLiveWriter.PostEditor.JumpList.WriterJumpList.Invalidate(IntPtr ownerWindow) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\JumpList\WriterJumplist.cs:line 74
   at OpenLiveWriter.PostEditor.PostEditorMainControl.FirePostListChangedEvent() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\PostEditorMainControl.cs:line 1400
   at OpenLiveWriter.PostEditor.PostEditorMainControl._editingManager_UserSavedPost(Object sender, EventArgs e) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\PostEditorMainControl.cs:line 1363
   at OpenLiveWriter.PostEditor.BlogPostEditingManager.SaveDraft() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\BlogPostEditingManager.cs:line 541
   at OpenLiveWriter.PostEditor.PostEditorMainControl.commandSavePost_Execute(Object sender, EventArgs e) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.PostEditor\PostEditorMainControl.cs:line 656
   at OpenLiveWriter.ApplicationFramework.Command.RaiseEvent(Object eventKey, EventArgs e) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\Command.cs:line 1889
   at OpenLiveWriter.ApplicationFramework.Command.OnExecute(EventArgs e) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\Command.cs:line 1762
   at OpenLiveWriter.ApplicationFramework.Command.PerformExecute() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\Command.cs:line 1625
   at OpenLiveWriter.ApplicationFramework.Command.PerformExecute(CommandExecutionVerb verb, PropertyKeyRef key, PropVariantRef currentValue, IUISimplePropertySet commandExecutionProperties) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\Command.cs:line 1672
   at OpenLiveWriter.ApplicationFramework.CommandManager.Execute(UInt32 commandId, CommandExecutionVerb verb, PropertyKeyRef key, PropVariantRef currentValue, IUISimplePropertySet commandExecutionProperties) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\CommandManager.cs:line 880
   at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at OpenLiveWriter.ApplicationFramework.SatelliteApplicationForm.Launcher.ThreadMain(Object[] parameters) in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.ApplicationFramework\SatelliteApplicationForm.cs:line 415
   at OpenLiveWriter.CoreServices.Threading.ThreadStartWithParams.Run() in C:\GitHub\OpenLiveWriter\src\managed\OpenLiveWriter.CoreServices\Threading\ThreadStartWithParams.cs:line 25
   at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart()"
@kathweaver
Copy link
Contributor

Which blog host are you using? That might help the developers.

@timheuer timheuer changed the title ERROR: ProgId missing for extension: .wpost Post extension (wpost) causing registry issues with existing ProgId code for WLW Dec 14, 2015
@timheuer timheuer added this to the v1.0 milestone Dec 14, 2015
@timheuer
Copy link
Member

This is caused because OLW is using the same file extension (.wpost) as WLW and there is code comparing AppUserModelID for Windows Jump List registration. The following code does a comparison to make sure you are adding to the right jumplist:
https://github.com/OpenLiveWriter/OpenLiveWriter/blob/master/src/managed/OpenLiveWriter.PostEditor/JumpList/JumpList.cs#L222-L226

Since the AppUserModelID is actually WLW for the .wpost extension it fails and is getting noisy.

Options: remove JumpList support or change file extension.

@ScottIsAFool
Copy link
Member

Personally speaking, I'm ok with removing jumplist support as I never use it, although it depends on how much others use it I guess.

@randrey
Copy link
Author

randrey commented Dec 15, 2015

Using same file extension is not a problem. Most of us have more than one web browser installed side by side and any of them can open html files. The issue here is that OLW is not registering itself as an app that can handle .wpost files, which is a requirement to use the jump list. Normally such registration is done by an (msi) installer, but I don't think Squirrel is capable of doing that. If anyone is interested, there is an article on the MSDN detailing what needs to be done to become a default app - Default Programs.

Removing JumpList would be the easiest (and potentially the only) way to solve this, just changing file extension won't help.

ScottIsAFool added a commit to ScottIsAFool/OpenLiveWriter that referenced this issue Dec 16, 2015
@gduncan411
Copy link

Just a quick note to say that I am a user of the Recent Drafts Jump Lists.

Often for my Channel 9 posts, I'll draft a post and when the video is encoded (hours later), I go back to it and finish it up. In the end, I currently use the WLW Recent Drafts Jump Lists 3-5 times a week. It just makes it a few clicks easier to bring up the post in question.

That said, I understand the issue and think I could work around it with File -> Recent Posts...

@humbertoc26
Copy link

It seems like this behavior was removed from OLW.
https://github.com/OpenLiveWriter/OpenLiveWriter/blob/master/src/managed/OpenLiveWriter/ApplicationMain.cs#L222-L224
Shouldn't it be fixed instead?

@scottharner
Copy link

Is there a work-around for the draft saving bug on Windows 10 in the absence of a bug fix?

@terryaney
Copy link

This happens when attempting to publish as well. I'm on Build 0.6.0.0 en-US.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug General bugs help wanted
Projects
None yet
Development

No branches or pull requests

9 participants