代码签名打破了隔离存储

时间:2013-06-23 20:21:05

标签: c# .net isolatedstorage

我通过IsolatedStorageFile.GetMachineStoreForAssembly()方法使用Isolated Storage来存储我的应用程序设置。

我的应用程序部署完毕后,我买了一个数字证书来签署我的软件。但是,带有证书的新版本无法读取旧的设置文件。这是因为签名改变了申请身份。

如何访问旧版本(未签名)编写的旧设置?是否有可能通过传递旧身份以某种方式获得旧装配的机器商店?

1 个答案:

答案 0 :(得分:2)

机器商店由应用身份标识,而不仅仅是名称
签署代码后,您的publicKeyToken会有所不同。

参考文献:
http://msdn.microsoft.com/en-US/library/system.io.isolatedstorage.isolatedstoragefile.getmachinestoreforassembly(v=vs.80).aspx http://msdn.microsoft.com/en-us/library/b0yt6ck0.aspx

  • 编辑 -
    这是隔离存储的缺点之一。我不会将它用于永久设置,必要时无法重新输入。对于长期存储,我在ApplicationData文件夹下为我的应用程序创建了一个文件夹 Environment.GetFolderPath(ApplicationData)并将我的文件存储在那里。

话虽这么说,我发现this文章有时可用于查找文件夹,如果您知道文件的名称。