{"id":15,"date":"2007-01-10T11:23:52","date_gmt":"2007-01-10T10:23:52","guid":{"rendered":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/10\/update-statement-fur-die-tabelle-upgrade-eines-msi-projektes\/"},"modified":"2007-01-10T11:30:54","modified_gmt":"2007-01-10T10:30:54","slug":"update-statement-fur-die-tabelle-upgrade-eines-msi-projektes","status":"publish","type":"post","link":"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/10\/update-statement-fur-die-tabelle-upgrade-eines-msi-projektes\/","title":{"rendered":"UPDATE Statement f\u00fcr die Tabelle Upgrade eines MSI-Projektes"},"content":{"rendered":"<p>Ich habe gerade Stunden verbracht ein VBS-Skript zu schreiben, dass ein Microsoft Installer Projekt anpasst. Aufgabe war einige bestehende Eintr\u00e4ge in der Tabelle Upgrade zu \u00e4ndern. Es sollten nur die Wert in den Spalten <em>VersionMin<\/em> und <em>VersionMax<\/em> angepasst werden.<\/p>\n<p>Ein sch\u00f6nes UPDATE-Statement war schnell erzeugt. Aber es schlug immer fehl mit:<br \/>\n<em>PostBuild.vbs(28, 1) Msi API Error: OpenView,Sql<\/em>\u00a0 \ud83d\ude15<\/p>\n<p>Nach l\u00e4ngerem Nachdenken, Suchen und Analyse mit Orca, stellte ich fest, dass die Spalten UpgradeCode, VersionMin, VersionMax, Language, Attributes alle den Primary-Key bilden.<\/p>\n<p>Nun wird sich mancher Fragen: Na und?!?!<\/p>\n<p>Nun die MSI Dokumentation sagt zu UPDATE-Statements in MSI Dateien:<br \/>\n<em><strong>\u2757 UPDATE queries only work on nonprimary key columns!<\/strong><\/em><\/p>\n<p>Also doch alle Records einlesen, l\u00f6schen und neu schreiben&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich habe gerade Stunden verbracht ein VBS-Skript zu schreiben, dass ein Microsoft Installer Projekt anpasst. Aufgabe war einige bestehende Eintr\u00e4ge in der Tabelle Upgrade zu \u00e4ndern. Es sollten nur die Wert in den Spalten VersionMin und VersionMax angepasst werden. Ein sch\u00f6nes UPDATE-Statement war schnell erzeugt. Aber es schlug immer fehl mit: PostBuild.vbs(28, 1) Msi API &hellip; <a href=\"http:\/\/blog.m-ri.de\/index.php\/2007\/01\/10\/update-statement-fur-die-tabelle-upgrade-eines-msi-projektes\/\" class=\"more-link\"><span class=\"screen-reader-text\">\u201eUPDATE Statement f\u00fcr die Tabelle Upgrade eines MSI-Projektes\u201c <\/span>weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,9],"tags":[150,149,359],"class_list":["post-15","post","type-post","status-publish","format-standard","hentry","category-programmieren","category-sonstiges","tag-msi","tag-setup","tag-sql"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/15","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/comments?post=15"}],"version-history":[{"count":0,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/posts\/15\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/media?parent=15"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/categories?post=15"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.m-ri.de\/index.php\/wp-json\/wp\/v2\/tags?post=15"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}