Read this rticle on sql express and Click once it should be an anouncement i believe
http://msdn.microsoft.com/library/default.asp url=/library/en-us/dnsse/html/EmSQLExCustApp.asp
I believe you did not write that article but maybe you can answer this question:
assume that on version 1.0.1 i publish the application and the user install it and create the db as in the article.
Then i publish a version 1.0.2 with db changes, but the user does not open the application in this time interval so he does not receives the new updates
Then i publish version 1.0.3 which also has db changes and then a user open the application, and gets only the new updates
solutions that i come up with:
creating if statements in the update file (in t-sql) and increment the db version step by step while the application is installing the lates version.
But it is way to complicated and opened for mistakes, is there a way to force users with version 1.0.1 first to download 1.0.2 and then to download 1.0.3
Itzik
If you are on that can u please direct me to an article that explains how to use localization with ClickOnce Today i publish each language version manually to different location isn't there a way to do it automatically
One last thing if you are on the developement team, Please
you put the initial focus in the location combobox, and each time i open the publish screen i want to scroll down to the publish button, but instead i am changing values in the location combo box, and by that apply the publish to an unwanted location.
Please Fix that ASAP

Great article, but a question to David Guyer
johnlaus
mbudiman
Itzik,
I can help you with the question regarding publishing multiple language versions. At this time there is not one article that describes best practices for publishing an application localized to several languages. (I'm actually working on writing a white paper about this right now.)
There are two ways to publish a localized. The first is to change the publish language and publish to a different location for each language. As you have seen, the trouble with this method is changing between languages is cumbersome. You could use macros for publishing each locale. Below is a macro that will publish the first project with the en locale set. You could expand the macro below.
Sub PublishProjectFirstProjectWithEnLocale()
PublishProjectFirstProjectWithLocale("en")
End Sub
Private Sub PublishProjectFirstProjectWithLocale(ByVal localeString As String)
'get first project
Dim proj As Project = DTE.Solution.Projects.Item(1)
Dim publishProperties As Object = proj.Properties.Item("Publish").Value
'GenerateManifests and SignManifests must always to true for publishing to work.
proj.Properties.Item("GenerateManifests").Value = True
proj.Properties.Item("SignManifests").Value = True
'Set publish language.
'This will set deployment language and pick up all en resource dlls.
Dim originalTargetCulture As String = publishProperties.Item("TargetCulture").Value
publishProperties.Item("TargetCulture").Value = localeString
'Append 'en' to end of publish, install,update urls if needed.
Dim originalPublishUrl As String = publishProperties.Item("PublishUrl").Value
Dim originalInstallUrl As String = publishProperties.Item("InstallUrl").Value
Dim originalUpdateUrl As String = publishProperties.Item("UpdateUrl").Value
publishProperties.Item("PublishUrl").Value = AppendStringToUrl(localeString, New Uri(originalPublishUrl))
If originalInstallUrl <> String.Empty Then
publishProperties.Item("InstallUrl").Value = AppendStringToUrl(localeString, New Uri(originalInstallUrl))
End If
If originalUpdateUrl <> String.Empty Then
publishProperties.Item("UpdateUrl").Value = AppendStringToUrl(localeString, New Uri(originalUpdateUrl))
End If
proj.Save()
Dim slnbld2 As SolutionBuild2 = CType(DTE.Solution.SolutionBuild, SolutionBuild2)
slnbld2.Clean(True)
slnbld2.BuildProject(proj.ConfigurationManager.ActiveConfiguration.ConfigurationName, proj.UniqueName, True)
'only publish if build was successful.
If slnbld2.LastBuildInfo <> 0 Then
MsgBox("Build failed for " & proj.UniqueName)
Else
slnbld2.PublishProject(proj.ConfigurationManager.ActiveConfiguration.ConfigurationName, proj.UniqueName, True)
If slnbld2.LastPublishInfo = 0 Then
MsgBox("Publish succeeded for " & proj.UniqueName & vbCrLf & "." _
& " Publish Language was '" & localeString & "'.")
Else
MsgBox("Publish failed for " & proj.UniqueName)
End If
End If
'return urls and target culture to their previous state
publishProperties.Item("PublishUrl").Value = originalPublishUrl
publishProperties.Item("InstallUrl").Value = originalInstallUrl
publishProperties.Item("UpdateUrl").Value = originalUpdateUrl
publishProperties.Item("TargetCulture").Value = originalTargetCulture
proj.Save()
End Sub
Private Function AppendStringToUrl(ByVal str As String, ByVal baseUri As Uri) As String
Dim returnValue As String = baseUri.OriginalString
If baseUri.IsFile OrElse baseUri.IsUnc Then
returnValue = IO.Path.Combine(baseUri.OriginalString, str)
Else
If Not baseUri.ToString.EndsWith("/") Then
returnValue = baseUri.OriginalString & "/" & str
Else
returnValue = baseUri.OriginalString & str
End If
End If
Return returnValue
End Function
The second way to publish a localized application is to include all the resource files in the published application. To do this open the Application Files dialog, check the ‘Show All Files’ check box. All the resource files will be listed with a Publish Status of ‘Exclude’. Change the Publish Status for each resource file to ‘Include’. This will cause all the resource files to be published, regardless of the Publish Language setting.
If the size of all the resource dlls is worrisome, you can put the resource dlls in download groups and only download the ones you need.
I hope this explanation helps you. Please let me know if you have any more questions.
Best Regards,
Elizabeth Maher
Walt Parkman
I think the SQL Server team wrote that article. And I'm not very familiar with the handling of Data files in ClickOnce... I have forwarded this thread to some folks on the team that should be able to answer it however, and hopefully we'll get one sometime today.
My first thought though would be that your code that processes changes to the database, would need to be able to detect previous versions beyond n-1 and know which upgrade path to use.
fulgerica
mouse scroll, if the frame is to small then sometimes you are needed to scroll down to the publish now button, i am using the scroller on the mosue. but since the focus of the publish page is in the location combo box, i am changing the publish location with out notice that i do that.
Itzik
aahd1
What exactly do you mean by "scroll" Are you using the mouse scroll wheel, or the scroll bar on the side of the IDE/page
Chris_Kavanagh
David first of all thank you very much for replying to my post
I am using the scroll, and when I scroll (if the focus in the location text box, which it is) the location change, I know that it will not be fixed until next version in 2008 maybe, but think of the next scenario:
I have an application in different version and languages now if by mistake (scrolling unwillingly to a different location) I publish the Romanian version to Hungary, think of the next morning when there will be no use for the application.
Off course it is up to my deployment manager to make sure things like that do not happened but, scrolling is a normal behavior and the focus on the start should not be on such crucial combo box.
This is just a recommendation.
Itzik Katzav
Thanks again
Now I will read your colleague reply