.net 如何复制ClickOnce文件与InnoSetup的关联?

.net 如何复制ClickOnce文件与InnoSetup的关联?,.net,clickonce,inno-setup,file-association,.net,Clickonce,Inno Setup,File Association,我正在考虑不再使用ClickOnce部署我的.net应用程序。目前,我使用InnoSetup作为包装器,这样我就可以将单个可执行文件分发给用户。这在我们的第一个版本中运行良好-ClickOnce处理文件关联并确保安装了正确的.net framework-这很好 然而,现在我们正在考虑发布一个更新,发现我们的新版本与旧版本一起安装(旧版本保留了文件关联)。如果先卸载旧版本,则一切正常,但目前此过程是手动的(用户必须进入控制面板并卸载)。我已经有一个关于这个问题的问题,但是由于没有答案,我想看看我是

我正在考虑不再使用ClickOnce部署我的.net应用程序。目前,我使用InnoSetup作为包装器,这样我就可以将单个可执行文件分发给用户。这在我们的第一个版本中运行良好-ClickOnce处理文件关联并确保安装了正确的.net framework-这很好

然而,现在我们正在考虑发布一个更新,发现我们的新版本与旧版本一起安装(旧版本保留了文件关联)。如果先卸载旧版本,则一切正常,但目前此过程是手动的(用户必须进入控制面板并卸载)。我已经有一个关于这个问题的问题,但是由于没有答案,我想看看我是否让InnoSetup处理所有的事情(包括卸载)

我已经找到了一些例子,可以帮助我使用InnoSetup复制.net framework检查和安装。现在,我只需要一些东西来明确说明如何创建ClickOnce创建的文件关联条目。有人能给我指一下正确的方向吗


编辑:我知道InnoSetup可以创建/编辑注册表项(这里有多个与此相关的问题),我想具体知道我需要创建哪些注册表项以及在哪里创建。

这是一个简单的问题。InnoSetup文档描述了这个过程,它相对来说比较轻松。我的印象是ClickOnce发生了一些变化,并发挥了一些其他的“魔力”,但情况似乎并非如此

[Setup]
ChangesAssociations=yes

[Registry]
Root: HKCR; Subkey: ".myextension"; ValueType: string; ValueName: ""; ValueData: "MyProgName"; Flags: uninsdeletevalue
Root: HKCR; Subkey: "MyProgName"; ValueType: string; ValueName: ""; ValueData: "File Type Description"; Flags: uninsdeletekey
Root: HKCR; Subkey: "MyProgName\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\MyProgName.exe,0"
Root: HKCR; Subkey: "MyProgName\shell\open\command"; ValueType: string; ValueName: ""; ValueData: """{app}\MyProgName.exe"" ""%1""" 
我的新版本在安装后会覆盖这些条目,并且一切正常